如何从课堂上获得确定的按钮
本文关键字:按钮 课堂 | 更新日期: 2023-09-27 18:29:22
这不是长话短说!!只是它看起来很长;)
在我的应用程序中,我有user access
,这意味着访问与其用户访问范围相关的按钮。
在winform层中:我有一个表单,它在分区的checkedListboxes中显示所有已确定按钮的名称。我不想手动填写表格。我想通过代码创建checkedListboxes。为了获得他们商品的文本,我有以下计划:
clssMenu_Item:我可以保存此类中一个按钮的name
和text
属性。
public class clssMenu_Item
{
public string name;
public string text;
}
clssMenuList:它给了我2D通用List<clssMenu_Item>
。一个窗体中的所有按钮都将位于此类的对象中。
public class clssMenu_List
{
public clssMenu_List ()
{
// I dont know how fill private variables
}
#region private variables
private List<clssMenu_Item> _main ; // buttons in main form
private List<clssMenu_Item> _accountancy; //buttons in accountancy form
private List<clssMenu_Item> _management; //buttons in management form
#endregion
#region public properties
public List<clssMenu_Item> main
{ get { return _main; } }
public List<clssMenu_Item> accountancy
{ get { return _accountancy; } }
public List<clssMenu_Item> management
{ get { return _management; } }
#endregion
}
每种形式中的按钮在其CCD_ 5中具有共同字符。例如,Main表单中所有已确定的按钮都以"Mbtn"开头,因此表单之间没有任何相同的按钮"Name"
现在我不知道如何在clssMenu_List
中填充私有变量。然后我可以在我的外墙层中使用它。
谢谢你的关注,我的朋友!!请帮我解决
我会创建一个单独的助手类,从表单中提取所有按钮。
public static class FormHelper
{
public static Button[] GetButtonsFromForm(Form form)
{
// ...
}
}
我会创建属性而不是字段:
public class clssMenu_Item
{
public string Name {get;set;}
public string Text {get;set;}
}
创建menu_items:的方法
public IEnumerable<clssMenu_Item> GetMenuItemsFromForm(Form form)
{
// convert the buttons to menu_items
return from button in FormHelper.GetButtonsFromForm(form);
select new clssMenu_Item { Name = button.Name, Text = button.Text };
}
接下来,我会将所有按钮添加到右侧列表中。
public void Fill()
{
clssMenu_List lst = new clssMenu_List();
clssMenu_List.main.AddRange(GetMenuItemsFromForm(mainForm));
clssMenu_List.accountancy.AddRange(GetMenuItemsFromForm(accountancyForm));
clssMenu_List.management.AddRange(GetMenuItemsFromForm(managementForm));
}
别忘了在你的课堂上创建列表:
private List<clssMenu_Item> _main = new List<classMenu_Item>(); // buttons in main form
private List<clssMenu_Item> _accountancy = new List<classMenu_Item>(); //buttons in accountancy form
private List<clssMenu_Item> _management = new List<classMenu_Item>(); //buttons in management form
个人:
我会把它们存储在字典里,因为你可以按名字访问它们。我不会创建List类型的属性。我宁愿创建Add/Remove方法。