PDA

View Full Version : مبتدی: فعال کردن منوی راست کلیک



Parvane88
جمعه 16 فروردین 1392, 23:03 عصر
سلام دوستان
دارم روی یک پروژه سرچ اکسپلولر کار میکنم.
میخوام event راست کلیک رو برای پوشه ها و فایل های داخل listview فعال کنم.
میخوام منوی باز شده گزینه های Properties,rename و... رو داشته باشه.
شاید سوالم خیلی راحت باشه ولی تا حالا این کارو انجام ندادم،میشه راهنماییم کنین،واسه کدهای داخل contexmenustrip مشکل دارم !!!!

erfan_urchin
جمعه 16 فروردین 1392, 23:45 عصر
اول باید ببینی میخوای تو چی راست کلیک کنی مثلا من تو مثال زیر میخوام رو تکست باکس راست کلیک کنم به طوری که فقط گزینه Copy و Cut داشته باشه برای این کار تو در آیتم های context menustrip گزینه های cut و copy رو وارد میکنی و در فرم لود معرفی میکنی که context menu strip برای تکست باکس هستش
private void Form1_Load(object sender, EventArgs e)
{
textBox1.ContextMenuStrip = contextMenuStrip1;
}
تو مرحله بعدی میگی که وقتی رو تکست باکس راست کلیک کردی contextMenuStrip رو نمایش بده و برای این کار در رویداد های تکست باکس و در رویداد MouseDown کد مینویسی
private void textBox1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
contextMenuStrip1.Show(textBox1, e.Location);
}
تو مرحله بعد رو ی هریک از آیتم های copy و cut کلیک میکنی تا رویدادهای کلیک آن ها باز شوند و کد های مربوطه رو مینویسی
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Copy();
}

private void cutToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Cut();
}
در مرحله آخر باید بگی که اگه متنی از تکست باکس select شده بود گزینه های copy و cut فعال باشند و در غیر اینصورت فعال نباشند و برای این کار در رویداد opening رفته کدهای مربوطه رو مینویسی
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
if (textBox1.SelectionLength > 0)
copyToolStripMenuItem.Enabled = true;

if (textBox1.SelectionLength > 0)
cutToolStripMenuItem.Enabled = true;
}
حالا شما باید برای کار هایی که میخوای انجام بدی کدهای مربوطشو بنویسی اما در کل همین مراحلو باید طی کنی
موفق باشی