如何使 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 中的列表可点击?的主要内容,如果未能解决你的问题,请参考以下文章

如何使列表视图中的项目可点击?

如何使字符串列表的每个元素都可点击?

Bootstrap 3:如何在导航栏中使下拉链接的头部可点击

如何使列表视图的文本视图可点击

如何使整行列表视图可点击?

如果可扩展列表视图android中的孩子为空,如何单击组