PDA

View Full Version : ToolStripMenuItem در جای درستی نمایش داده نمی شن



نیکناز
پنج شنبه 08 خرداد 1393, 12:02 عصر
سلام دوستان
من می خوام هر بار کاربر روی منو " select " زد ، زیرمنو های اون پاک بشن و یک تابع فراخوانی بشه که زیر منو های جدید را بایند کنه.
این کار تقریبا با کد من انجام میشه.
مشکل اینجاست که وقتی روی select کلیک می کنم ، زیر منو جدید در مکان نامناسبی نمایش داده میشه. در گوشه سمت چپ و بالا ی صفحه ی VS.( در تصویر Radio در جای نامناسبی قرار گرفته)
من عکسشو می زارم.
البته امتحان کردم اگه زیر منوها تعدادشون از یکی بیشتر بشه این مشکل پیش نمیاد ولی یکی که باشه بد نمایش داه میشه.
چرا اینطوری میشه؟


119625

کد :



private void Form1_Load(object sender, EventArgs e)
{

MakeItems();
}

void MakeItems()
{


var item = new System.Windows.Forms.ToolStripMenuItem()
{
Name = "Test1",
Text = "Tv"
};

_zz.DropDownItems.Add(item);

}
private void _zz_Click(object sender, EventArgs e)
{
for (int i = 0; i < _zz.DropDown.Items.Count; i++)
{
_zz.DropDown.Items[i].Dispose();

}
MakeItems2();
}

void MakeItems2()
{

var item2 = new System.Windows.Forms.ToolStripMenuItem()
{
Name = "Test2",
Text = "Radio"
};

_zz.DropDownItems.Add(item2);

}

rezaee2
پنج شنبه 08 خرداد 1393, 12:32 عصر
این مربوط میشه به rtl نبودن فرم یا شیئت (tsmi)
rtlش کن احتمالا درست میشه...
هم فرم و هم tsmiرو
موفق باشی

نیکناز
پنج شنبه 08 خرداد 1393, 12:41 عصر
ممنون . ولی به خاطر اینا نبوده . تاثیری نداشت.
کدم رو تو رویداد MouseEnter نوشتم و درست شد.

نیکناز
پنج شنبه 08 خرداد 1393, 13:05 عصر
ممنون . ولی به خاطر اینا نبوده . تاثیری نداشت

ROSTAM2
سه شنبه 04 مهر 1402, 19:16 عصر
سلام به همه
با استفاده از خصوصیت DropDown از ToolStripMenuItem می تونید یک ContextMenuStrip رو بهش اختصاص بدید
همچنین با تغییر این خصوصیت در RunTime براحتی آیتم ها تغییر می کنن.