如何在C#中自动填充文本框?

如何在C#中自动填充文本框?,c#,C#,如何根据其他两个文本框的输入自动填充文本框 例如: 名字:约翰 姓氏:史密斯 别名:JSmit(取姓氏的首字母和前4个字母) 昵称:JSmith(取首字母+姓氏) 我该如何用C写这个?它是visual Studio 2013中的Windows窗体 我想对于昵称,我可以使用txtNickname.text=*一些wierd A^@#%@Thing*+txtLastname.text txtNickname.Text = txtFirstName.Text[0] + txtLastName.Text

如何根据其他两个文本框的输入自动填充文本框

例如:

名字:约翰

姓氏:史密斯

别名:JSmit(取姓氏的首字母和前4个字母)

昵称:JSmith(取首字母+姓氏)

我该如何用C写这个?它是visual Studio 2013中的Windows窗体

我想对于昵称,我可以使用txtNickname.text=*一些wierd A^@#%@Thing*+txtLastname.text

txtNickname.Text = txtFirstName.Text[0] + txtLastName.Text;
txtAlias.Text = txtFirstName.Text[0] + txtLastName.Text.Substring(0, 4);

您可能需要为字符串长度添加一些标记。:)

您正在尝试在Windows窗体中实现数据绑定-您可以看看。作为替代方案,您可以使用

以下是Windows窗体的一些WPF样式代码示例:

public partial class Form1 : Form, INotifyPropertyChanged {
    public string FirstName { get { return txtFirstName.Text; } set { txtFirstName.Text = value; } }
    public string LastName { get { return txtLastName.Text; } set { txtLastName.Text = value; } }
    public string NickName { get { return txtNickName.Text; } set { txtNickName.Text = value; } }

    public Form1() {
        InitializeComponent();
        UpdateNickName();
        txtFirstName.TextChanged += (s, e) => FirePropertyChanged("FirstName");
        txtLastName.TextChanged += (s, e) => FirePropertyChanged("LastName");
        txtNickName.TextChanged += (s, e) => FirePropertyChanged("NickName");
        PropertyChanged += Form1_PropertyChanged;
    }

    void Form1_PropertyChanged(object sender, PropertyChangedEventArgs e) {
        switch(e.PropertyName) {
            case "FirstName":
            case "LastName":
                UpdateNickName();
                break;
        }
    }

    void UpdateNickName() {
        if(FirstName.Length > 1 && LastName.Length > 4) {
            NickName = FirstName.Substring(0, 1) + "" + LastName.Substring(0, 4);
        } else {
            NickName = "";
        }
    }

    public void FirePropertyChanged([CallerMemberName] string property = "") {
        if(PropertyChanged != null) {
            PropertyChanged(this, new PropertyChangedEventArgs(property));
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;
}

这很有效。我唯一的问题是,我怎样才能让文本框在输入时显示别名和昵称?你可以做一些类似于@Binkan Salaryman建议的事情。或者,您可以使用txtFirstName和txtLastName文本框的文本更改事件。你知道怎么用这些吗?如果没有,我可以在这里为您评论