PDA

View Full Version : بدست آوردن لیست تمام منوهای استفاده شده در برنامه



Developer Programmer
یک شنبه 03 خرداد 1388, 20:35 عصر
من میخوام یه قسمتی در برنامه ام پیاده کنم که لیست تمام منوها و زیرمنوها رو لیست کنه و کاربر Admin با انتخاب اونها از لیست مشخص کنه که کدام منوها برای کدام کاربرها Enable باشن

با هزار جور for each و حلقه سعی کردم هر منو رو بدست بیارم و بعد وارد زیر منوها بشم اما نتونستم

Unknownlive
یک شنبه 03 خرداد 1388, 21:43 عصر
ببینید منظور شما اینه که مثلا در یک list box اسامی تمام منو و زیر منو بیاد و بگید برای کدام کاربر فعال باشه درسته خوب یک استراکچر تعریف کنید و فیلد های user,menuname,active به طور مثال تعریف کنید البته برای menuname یک ارایه تعریف کنید و بعد در لیست باکس با گذاشتن شرط می تونید مشخص کنید چه کاربری به کدام منو دسترسی داشته باشه و در Form_load اون استراکچر دا چک کنید با دسترسی داشتن به فیلد username البته از ارایه های Array list استفاده کنید.

Developer Programmer
یک شنبه 03 خرداد 1388, 21:53 عصر
خوب یک استراکچر تعریف کنیدمشکل من تعریف استراکچر نبود. مشکلم این بود که بتونم منوها و زیر منوها رو پیدا و نشون بدم.

هرچند با هزار جور مصیبت تونستم پیدا کنم. اما حقیقتا خودم هم نفهمیدم چطور شد که درست شد !!


private void TraceToolStripItem( ToolStripItemCollection menus )
{
ToolStripMenuItem t = new ToolStripMenuItem();

foreach ( ToolStripItem c in menus )
{
if ( c is ToolStripMenuItem )
{
t = (ToolStripMenuItem) c;

checkedListBox1.Items.Add( t.Text );

TraceToolStripItem( t.DropDownItems );
}
}
}

اینطوری هم فراخوانی میشه :


TraceToolStripItem( menuStrip1.Items );

Developer Programmer
یک شنبه 03 خرداد 1388, 22:04 عصر
الان یه مشکل دارم اونم اینه که چطور این اسامی رو توی TreeView به صورت درختی(منو و زیر منو) نشون بدم