所以我有以下表格:
我想要实现的目标如下:
输入名称后,我希望只需单击首字母文本框即可生成名称的首字母。
我找到了以下方法来获取字符串的第一个字符:
string EngineerName = tb_Name.Text.ToString();
EngineerName.Split(' ').ToList().ForEach(i => Console.Write(i[0] + " "));
我的问题是,如何将字符列表分配到textbox
的文字?
我试过了:
private void Tb_Initials_Click(object sender, EventArgs e)
{
string EngineerName = tb_Name.Text.ToString();
EngineerName.Split(' ').ToList().ForEach(i => Console.Write(i[0] + " "));
tb_Initials.Text = EngineerName;
}
但是这只是填写了具有完全相同名称的文本框......
答案 0 :(得分:5)
您需要在某处分配拆分结果。请考虑以下代码段:
string EngineerName = tb_Name.Text.ToString();
string initials = "";
EngineerName.Split(' ').ToList().ForEach(i => initials += i[0] + " ");
tb_Initials.Text = initials;
答案 1 :(得分:2)
您可以这样做:
private void Tb_Initials_Click(object sender, EventArgs e)
{
tb_Initials.Text = "";
string EngineerName = tb_Name.Text;
string[] splitted = EngineerName.Split(' ');
for(int i = 0; i<splitted.Length; i++)
tb_Initials.Text += splitted[i];
}
答案 2 :(得分:0)
您需要直接分配:
string EngineerName = tb_Name.Text.ToString();
var initials = "";
EngineerName.Split(' ').ToList().ForEach(i => initials += i[0] + " ");
//trim the extra space in the end.
initials = initials.TrimEnd();
tb_Initials.Text = initials;