View Full Version : context menu
hrshojaei
یک شنبه 14 مرداد 1386, 10:45 صبح
سلام ، من روی یه فرم دوتا MaskedTextBox دارم که می خوام با یه Context Menu تاریخ امروز رو در هر کدوم وارد کنم . یعنی کاربر روی هر کدوم که right clck کرد context menu باز شه و تنها گزینش هم تاریخ امروز باشه . بعد اگه کاربر روی اون گزینه کلیک کرد تاریخ امروز رو داخل همون MaskedTextBox که روش کلیک راست شده وارد شه . حالا چه جوری می تونم با یک contextmenu اینو پیاده سازی کنم . مشکل اینجاست که چه جوری می تونم بفهمم الان روی کدوم maskedtextbox راست کلیک شده تا بتونم تاریخ رو داخل اون بریزم .
یا اینکه باید دو تا contextmenu داشته باشم و برای هرکدام از maskedtextbox جداگانه بنویسم . ممنون از راهنماییتون
mehdi.mousavi
یک شنبه 14 مرداد 1386, 10:59 صبح
سلام ، من روی یه فرم دوتا MaskedTextBox دارم که می خوام با یه Context Menu تاریخ امروز رو در هر کدوم وارد کنم . یعنی کاربر روی هر کدوم که right clck کرد context menu باز شه و تنها گزینش هم تاریخ امروز باشه . بعد اگه کاربر روی اون گزینه کلیک کرد تاریخ امروز رو داخل همون MaskedTextBox که روش کلیک راست شده وارد شه . حالا چه جوری می تونم با یک contextmenu اینو پیاده سازی کنم . مشکل اینجاست که چه جوری می تونم بفهمم الان روی کدوم maskedtextbox راست کلیک شده تا بتونم تاریخ رو داخل اون بریزم .
یا اینکه باید دو تا contextmenu داشته باشم و برای هرکدام از maskedtextbox جداگانه بنویسم . ممنون از راهنماییتون
سلام.
خیر! شما نیازی به داشتن دو ContextMenuStrip ندارید. کافیست تا ItemClicked Event مربوط به ContextMenuStrip رو بگیرید و سپس با استفاده از کد زیر تشخیص بدین که Item ای که Select شده، روی کدوم MaskedTextBox بوده:
private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
ContextMenuStrip ctx = (ContextMenuStrip)sender;
MaskedTextBox txt = (MaskedTextBox)ctx.SourceControl;
txt.Text = e.ClickedItem.Text;
}
در واقع این اطلاعات در SourceControl Property ذخیره شده.
first_squit
یک شنبه 18 آذر 1386, 21:38 عصر
خیلی ممنون خیلی دنبال این نکته گشته بودم :قلب::قلب::قلب:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.