从WinForms中的控件库重用分组用户控件

时间:2015-11-29 21:28:06

标签: c# .net winforms

从WinForm中的自制库重用UserControl来更改文本框后面的标签文本或字符串名称是否可行?

我目前正在学习WinForms开发,并希望尽可能多地重用代码。

一个例子:

  1. Login1 UserControl
    • Username1 = login.usertextbox.text
    • Password1 = login.passtextbox.text
    • HostName1 = login.hostname.text
  2. Login2 UserControl
    • Username2 = login.usertextbox.text
    • Password2 = login.passtextbox.text
    • HostName2 = login.hostname.text
  3. Login.cs
    • 用户名,密码,主机名(文本框)和下一步按钮
  4. 登录用户控件库背后的功能将完全相同,只有login1和login2的结果应将结果存储在表单中的不同字符串等中。

    我知道如何重用单个控件,但如果可行则不会。 login1的值将存储在winform上的一组字符串下,然后下一个按钮将隐藏login1并显示login2。

    登录用户控件也是按照特定格式设计的,所以除了在后台重复使用完全相同的代码外,格式也应该相同,所以我不想使用单个按钮,必须重新定位每个控件的位置。

    如果这不可能,是否有更接近让我多次重用现有控件的东西?

1 个答案:

答案 0 :(得分:0)

您可以为Login用户控件创建一些公共属性,以显示您需要的某些属性。例如:

Public string UserName 
{
    get
    {
        return UsernameTextBox.Text;
    }
    set
    {
        UsernameTextBox.Text = value;
    }
}

这样您就可以在表单中使用此属性,例如:

this.Login1.UserName

另一个选择是让您的孩子控制公共并直接访问它们。但建议使用以前的方法。