如何使 TextBox 中的列表可点击?
Posted
技术标签:
【中文标题】如何使 TextBox 中的列表可点击?【英文标题】:How to make list in TextBox clickable? 【发布时间】:2019-10-24 13:15:15 【问题描述】:我正在用 C# 编写电话簿,当我点击“affichez tout vos 联系人”(打印所有联系人)时,它会在文本框中打印联系人列表:
我想当我点击“Remi”的行时,例如打开一个表单,在这个表单中我用 costructeur 获取 remi 的数据,但我不知道如何获取 remi 的数据。
我想它是这样的?
private void TBnumero_MouseDoubleClick(object sender, MouseEventArgs e)
Form ModifierEtSupprimer = new Form(Name, Number);ModifierEtSupprimer.Show();
但我不知道如何获取姓名和号码。
【问题讨论】:
这是 WinForms 还是 WPF 应用程序? 我想说文本框不太适合这个,列表框会更好,您可以覆盖样式使其看起来更像您的屏幕截图。 @JayBuckman 截图中的图标看起来像winforms。 它是一个 IHM Windows 窗体,但我有一个 Web 服务,它运行我的功能 我会将控件从 Textbox 更改为 DatagridView 或 ListBox。这样你就可以知道你在哪一行,并带上相应的姓名 - 电话对 【参考方案1】:使用 ListBox 作为您的控件。 1st 将项目添加到列表框:
ListBox phoneBook = new ListBox();
pnoheBook.Items.Add("Remi 741256");
pnoheBook.Items.Add("Khahal 164235");
pnoheBook.Items.Add("thegod 5578");
....
然后注册选择更改事件并将选择传递给新表单:
private void pnoheBook_SelectedIndexChanged(object sender, EventArgs e)
if (pnoheBook.SelectedIndex == -1)
return;// no selection we exit.
var selection = pnoheBook.SelectedValue.ToString().Split(' ');
Form ModifierEtSupprimer = new Form(selection[0], selection[1]);
ModifierEtSupprimer.Show();
【讨论】:
re,感谢您的回答,我有一个错误:System.NullReferenceException:'La référence d'objet n'est pas définieà une instance d'un objet。在行中: var selection = pnoheBook.SelectedValue.ToString().Split(' '); @martingenereux 是的,必须是列表框上没有选择的情况。我会编辑 嗯,这很奇怪,仍然不起作用,我尝试使用 Selected 项目,我做到了:Form ModifierEtSupprimer = new formmodifiersupprimer(LBaffiche.SelectedItem.ToString());它给了我数据但是当我尝试使用'.split('')'它不起作用并且它只给我第一个字母,例如如果我拆分'Remi 741256,Remi [0] = R和Remi [ 1] = e' 对不起,我不明白如何在评论部分缩进以上是关于如何使 TextBox 中的列表可点击?的主要内容,如果未能解决你的问题,请参考以下文章