如何通过表单的函数名称显示 [英] how to make visible by function name of form

查看:65
本文介绍了如何通过表单的函数名称显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个菜单栏,它们的项目是
item1
item2
item3
.
.
.

最初所有项目的可见性都是错误的

在数组列表中,这些项目已保存

例如
在arraylist中,我有item1,item2,item3,........

i have a menu bar and their items are
item1
item2
item3
.
.
.

initally all items visibility is false

in an arraylist these items are saved

e.g.
in arraylist i have item1, item2, item3, ........

for(int i=0; i<arraylist.count; i++) 
   arraylist[i].toString() 


现在这里的字符串与菜单栏item1
相同 现在从此数组列表中,我想更改项目的可见性.


now here the string is same as menubar item1
now from this array list i want to change the visibility of items

推荐答案

private void formm_display_function(string display_form_str)
{
   try
   {
      if(menuStrip1.Items.ContainsKey(display_form_str))
         menuStrip1.Items[display_form_str].Visible = true;
   }
   catch (Exception ex)
   {
      MessageBox.Show(ex.Message.ToString());
   }
}


如果ArrayList包含项目-看起来像-然后将它们强制转换为ToolStripMenuItems并设置适当的属性.

或更妙的是,不要使用ArrayList,而要使用List< ToolStripMenuItem>相反,您无需强制转换...
If your ArrayList contains the items - which it appears to - then just cast them to ToolStripMenuItems and set the appropriate properties.

Or better, don''t use an ArrayList, use a List<ToolStripMenuItem> instead, and you won''t need to cast it...


尝试一下.
Try this.
for(int i=0; i<arraylist.count; i++) 
{
  if(arraylist[i].toString() == "item1")
  {
    item1Id.Visible = true;
  }
  else if(arraylist[i].toString() == "item2")
  {
    item2Id.Visible = true;
  }
  else if(arraylist[i].toString() == "item3")
  {
    item3Id.Visible = true;
  }
}


这篇关于如何通过表单的函数名称显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆