【发布时间】:2016-01-06 06:30:26
【问题描述】:
我在 win form 中工作,其中有一个名为 Notes 的列表,其中包含不同的值,例如 NoteId、Notetype、笔记名称。每个创建的笔记都显示在 Panel 中,带有 noteid、note type、notename 。就像所有面板都加载到表单中一样。
要求是,当用户点击任何字段(即 NoteId 或 NoteType 或 NoteName)时,所有详细信息都应加载到可编辑的文本框中进行编辑。
当用户单击唯一的 NoteId 时,我执行以下操作以获取注释详细信息:
foreach (Note n in noteRetrieve)
{
Var index = Array.FindIndex(noteRetrieve, x => x.noteType == clickValue);
}
所以我得到了那个特定 Note 的索引,然后我得到了 noteetails
tbTitle.Text = noteRetrieve[index].noteName;
等等。
但是 NoteType 和 NoteName 是 NOT UNIQUE,所以我不能使用上述逻辑。
如何做到这一点?
【问题讨论】:
-
所有笔记都显示在哪里?在网格中还是在列表框中?
-
Notes 显示在 Panel 中,每个 note 都在 FlowLayout Panel 中。
-
@DigambarMalla 我想你正在寻找这样的东西codeproject.com/Articles/6646/…
-
@Anirugu 链接显示类似就地编辑的内容,但我的要求不同...
-
当然你可以找到解决问题的方法,例如当你在流布局面板和面板中放置控件时,你可以将父级标签(甚至编辑控件的标签)设置为节点id 然后使用它从列表中加载数据。但我这不是一个常见的 Windows 窗体解决方案,您可以简单地使用数据绑定到列表而不是这种尴尬的解决方案。