PDA

View Full Version : حرفه ای: ایجاد checkedListBox در contextMenuStrip



navidiran
یک شنبه 07 خرداد 1391, 13:35 عصر
سلام. دوستان چطوری میتوان در منوی کلیک راست ، سایر ابزارها از جمله checkedListBox اضافه کرد؟ چون همونطور که میدانید در contextMenuStrip فقط تکست باکس و کمبوباکس وجود داره ولی من لیست رو هم میخوام. کسی میتونه راهکاری بگه؟

87536
http://barnamenevis.org/images/misc/pencil.png

navidiran
یک شنبه 07 خرداد 1391, 19:28 عصر
یعنی هیچکس حرفی ، نظری ، سخنی ، توصیه ای نداره ؟

دوستان مدیر لطفا عنایتی به مشکل بنده داشته باشین . ممنون از همه.

Mahmoud.Afrad
یک شنبه 07 خرداد 1391, 20:55 عصر
در این تاپیک یک پروژه گذاشتم. کلاس های فولدر ToolStripItemClasses را به پروژه خود اضافه کنید و یک بار دیباگ کنید. بعد از این گزینه های دیگری هم به آیتم های منو اضافه میشه .
http://barnamenevis.org/showthread.php?343062

navidiran
دوشنبه 08 خرداد 1391, 09:18 صبح
ضمن تشکر از شما. کامپوننت هایی که ساختید کار میکنن؟

اینها رو با استفاده از ابزار کمکی ساختین؟

فرید نجفلو
دوشنبه 08 خرداد 1391, 13:05 عصر
سلام
دوست عزیز به هیچ کمپوننتی نیاز ندارید!
کار خیلی راحتیه فقط این کد رو اجرا و رو فرم راست کلیک کنید تا نتیجه رو ببینید

private void Form1_Load(object sender, EventArgs e)
{
ContextMenuStrip contx = new ContextMenuStrip();
//Add CheckedListBox
CheckedListBox chkLst = new CheckedListBox();
for (int i = 0; i < 50; i++)
chkLst.Items.Add(i.ToString());
ToolStripControlHost hst1 = new ToolStripControlHost(chkLst);
hst1.AutoSize = false;
contx.Items.Add(hst1);
//Add CobboBox
ToolStripControlHost hst2 = new ToolStripControlHost(new ComboBox { Items = { "1", "2", "3", "4" } });
contx.Items.Add(hst2);
//Add ProgressBar
ToolStripControlHost hst3 = new ToolStripControlHost(new ProgressBar {Value=50});
contx.Items.Add(hst3);

this.ContextMenuStrip = contx;

}

فرید نجفلو
دوشنبه 08 خرداد 1391, 20:15 عصر
خوب منم از ToolStripControlHost استفاده کردم فقط تنها فرقش اینه که نیاز به کدنویسی برای ایجاد نداره.
سلام
درسته ولی یه ج.ورایی شما کد ها رو پیچوندین مثلا این دوستونم به جای اونهمه کا تو ران تایم می تونن به راحتی تو خود فرم کنترل هارو ایجاد کننن و هر چی رو دلشون خواست واسه اون کنترل (بدون برنامه نویسی) تنظیم و تو ران تایم با دوخط انتقالش بدن به منو


ToolStripControlHost hst = new ToolStripControlHost(this.comboBox1);
contx.Items.Add(hst);
خیلی هم راحتر و عینی تر هست