C# 如何通过单击ListView中的特定行打开表单
我正试图通过单击ListView中的一行来打开一个新表单,并将特定行中列出的NoteId传递给新表单,有人能帮忙吗 如果这是一个愚蠢的问题,很抱歉,但我从上个月开始才开始编程,我的研究证明是徒劳的:(C# 如何通过单击ListView中的特定行打开表单,c#,winforms,C#,Winforms,我正试图通过单击ListView中的一行来打开一个新表单,并将特定行中列出的NoteId传递给新表单,有人能帮忙吗 如果这是一个愚蠢的问题,很抱歉,但我从上个月开始才开始编程,我的研究证明是徒劳的:( private void populatingMainList() { List getAllNotes=getAllNotes(); lstMain.Items.Clear(); for(int i=0;i
private void populatingMainList()
{
List getAllNotes=getAllNotes();
lstMain.Items.Clear();
for(int i=0;i
您可以在listview中使用contextmenustrip,然后在其上添加一个带有函数的按钮,以打开您尝试打开的表单
1.从工具箱中查找ContextMenuStrip并将其添加到应用程序中
2.将其添加到listview,如下图所示
3.选择您添加的上下文菜单,并通过单击“在此处键入”创建一个新按钮
4.双击contextmenu上的按钮,然后在listview中单击contextmenu上的按钮时编写要执行的代码
谢谢您的回复。您如何获得contextmenustrip?它没有列在我的工具箱中。它必须在工具箱中搜索,并通过选择listview并在listview设置中查找contextmenu选项将该contextmenu分配给listview,然后将该contextmenu分配给它。@PupYD13我已将图像添加到我对的答案中让你更容易。基本上我复制了你的代码,它给了我“无法转换为字符串”错误,很好。我将noteId设置为ListViewItem.ListViewSubItem,并将其转换为字符串,但当我运行它时,它会显示“ListViewSubItem:{}”我想去掉它,这样我就可以创建一个方法来调用便笺并显示它。如果需要该值,请使用Text属性,如:\u noteid.Text
private void populatingMainList()
{
List<Note> getAllNotes = GetAllNotes();
lstMain.Items.Clear();
for (int i = 0; i < getAllNotes.Count; i++)
{
lstMain.FullRowSelect = true;
string _note;
ListViewItem lvi = new ListViewItem(_note = getAllNotes[i].NoteComplete.ToString());
if (_note == "True")
{
lvi.Text = "";
lvi.Checked = true;
}
else
{
lvi.Text = "";
lvi.Checked = false;
}
lvi.SubItems.Add(getAllNotes[i].NoteTitle);
lvi.SubItems.Add(getAllNotes[i].NoteDot.ToString("dd-MM-yyyy"));
lvi.SubItems.Add(getAllNotes[i].NoteNote);
lvi.SubItems.Add(getAllNotes[i].NoteId.ToString());
lstMain.Items.Add(lvi);
}
}
private void lstMain_SelectedIndexChanged_1(object sender, EventArgs e)
{
//I believe that some sort of code that retrieve NoteId from the specific Row must be added here.
if (_list == true)
{
frmSticky StickyForm = new frmSticky(_currentUser, _noteid);
}
}
private void lstMain_SelectedIndexChanged_1(object sender, EventArgs e)
{
var lst = sender as ListView;
_noteid = lst.SelectedItems[0].SubItems[3];
if (_list == true)
{
frmSticky StickyForm = new frmSticky(_currentUser, _noteid);
}
}