我有一个winform,里面的 combobox 有 ABCD四个选项 , groupbox.visible=false;groupbox里面有9个lable,9个textbox,5个button,均为隐藏吧,现在要通过触发combobox中的选项改变内容
当我选择A的时候:
groupbox为visible=true; 9个lable、textbox、button中一部分(lab、txt假设为前5个好了,button 3个)为显示状态
当选择B的时候:
同上,只不过lab、button显示的个数和内容不同了(可能只有3个lab、txt显示,4个button显示)
以下以此类推说的有点混乱,也不知道该怎么形容了实现它我的想法是用委托,但是委托写的很混乱,先编写了一个将控件全部隐藏的类,然后又分别给ABCD写了显示其数量及其内容的方法,来回调用,总之调试起来很失败,委托我不太会用,想问问有没有什么别的解决问题的方法,或者委托应该怎么写才好
求教!~
当我选择A的时候:
groupbox为visible=true; 9个lable、textbox、button中一部分(lab、txt假设为前5个好了,button 3个)为显示状态
当选择B的时候:
同上,只不过lab、button显示的个数和内容不同了(可能只有3个lab、txt显示,4个button显示)
以下以此类推说的有点混乱,也不知道该怎么形容了实现它我的想法是用委托,但是委托写的很混乱,先编写了一个将控件全部隐藏的类,然后又分别给ABCD写了显示其数量及其内容的方法,来回调用,总之调试起来很失败,委托我不太会用,想问问有没有什么别的解决问题的方法,或者委托应该怎么写才好
求教!~
另外用panel的话岂不是要做4遍那些控件,因为大部分控件仅仅是显示的名字不同了,位置什么的都一样的呀~
也许是我太在意委托这个东西了。。(看了好多委托的例子,还是没能把委托搞透,所以还是不会用仅仅把例子看懂了而已)
panel.visible=true设置显示
panel.visible=false;设置隐藏
这个办法以前也用过,但是有点疑问就是,这样做的话设计窗口不就会很难看吗?还是说只要运行时的界面好看,设计时怎么样都无所谓?
PS:我的想法是在设计时panel不能重叠放置设计,把他们用 “田”字型放置,然后选中哪个就把哪个放在 特定的location坐标上,然后visible=true,并且整个窗体的大小也变成适应的大小,是这样的吗?
{
if(c is TextBox)
{
c.Hide(); 或者 c.Show();
}
}大概表示个意思,代码自己想想,或者给控件起一些有规律的 name,再根据name 隐藏,
这个不要用委托,一般委托有必要采用,用的多了代码也不好,你这个功能要实现没必要用委托的