繁体   English   中英

动态添加控件而不会单调

[英]Adding controls dynamically without it being monotonous

首先,我想不出比这更好的标题了

目前,我有一种方法可以从switch语句动态创建控件。

除控件本身外,每个控件的代码均相同。

码:

            switch (control)
            {
                case "TextBox":
                    TextBox txt = new TextBox();
                    txt.Name = "txt" + labeltext;
                    txt.Margin = _controlMargin;
                    txt.HorizontalAlignment = HorizontalAlignment.Stretch;
                    txt.FlowDirection = FlowDirection.LeftToRight;
                    txt.HorizontalContentAlignment = HorizontalAlignment.Left;
                    break;
                case "ComboBox":
                    ComboBox cbo = new ComboBox();
                    cbo.Name = "cbo" + labeltext;
                    cbo.Margin = _controlMargin;
                    cbo.HorizontalAlignment = HorizontalAlignment.Stretch;
                    cbo.FlowDirection = FlowDirection.LeftToRight;
                    cbo.HorizontalContentAlignment = HorizontalAlignment.Left;
                    break;
}

是否可以将重复的代码转换为方法,或者有更好的方法呢?

Control control = null;

switch (controlType)
{
   case "TextBox":
       control = new TextBox(); 
       control.Name = "txt + labelText;
       break; 
   case "ComboBox":
       control = new ComboBox(); 
       control.Name = "cbo" + labelText;
       break;
}

control.Margin = _controlMargin; 
control.HorizontalAlignment = HorizontalAlighment.Stretch;
control.FlowDirection = FlowDirection.LeftToRight;
control.HorizontalContentAlignment = HorizontalAlignment.Left

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM