|
分類:[C#]
C#2008 いつも大変お世話になっています。 通常のコントロールなら手製のダブルクリックイベントを 作成できるのですが、MonthCalendarでは作成できません。 MonthCalendarを構成するコントロールがCancelしているような感じ なのですが、いい方法があれば教えて下さい。
したいことはダブルクリックでMonthCalendarを閉じたい。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace bb { public partial class Form1 : Form { my暦 暦 = new my暦(); public Form1() { InitializeComponent(); 暦.Location = new Point(0, 0); 暦.Size = new Size(100, 100); 暦.BackColor = Color.LightBlue; 暦.二度押 += new EventHandler(暦_二度押); this.Controls.Add(暦); }
void 暦_二度押(object sender, EventArgs e) { MessageBox.Show("二度押し"); } }
class my暦 : MonthCalendar // <<***** Controlなら成功する { const int WM_左二度押 = 0x203; public event EventHandler 二度押;
protected override void WndProc(ref Message m) { switch (m.Msg) { case WM_左二度押: if (this.二度押 != null) this.二度押(this, EventArgs.Empty); break; } base.WndProc(ref m); } } }
|