Windows Forms c# 将函数添加到运行时下的新列表框
Windows Forms c# Add functions to an new Listbox under runtime
我是 C# Windows 表单的初学者。我尝试 google 这个但不确定我是否理解这是怎么可能的。我想在 运行 时间内创建一个列表框,并成功地创建了一个这样的列表框:
private void button3_Click(object sender, EventArgs e)
{
ListBox lb = new ListBox();
lb.AllowDrop = true;
lb.FormattingEnabled = true;
lb.Size = new System.Drawing.Size(200, 100);
lb.Location = new System.Drawing.Point(100, 250);
this.Controls.Add(lb);
}
但是我的列表框的函数中还需要条件,我想在设计器中添加代码以将这些也添加到列表框。我想添加这样的功能,例如:
lb.DragEnter += new System.Windows.Forms.DragEventHandler(this.lb_DragEnter);
and
private void lb_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(System.String)))
e.Effect = DragDropEffects.Move;
else
e.Effect = DragDropEffects.None;
}
我希望我把我的问题解释清楚!
欢迎堆叠。
我可能误解了你的意思,但你不能直接在你的 button3_Click 方法中添加事件吗?
private void button3_Click(object sender, EventArgs e)
{
ListBox lb = new ListBox();
lb.AllowDrop = true;
lb.FormattingEnabled = true;
lb.Size = new System.Drawing.Size(200, 100);
lb.Location = new System.Drawing.Point(100, 250);
// Your event
lb.DragEnter += new System.Windows.Forms.DragEventHandler(this.lb_DragEnter);
this.Controls.Add(lb);
}
private void lb_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(System.String)))
e.Effect = DragDropEffects.Move;
else
e.Effect = DragDropEffects.None;
}
我是 C# Windows 表单的初学者。我尝试 google 这个但不确定我是否理解这是怎么可能的。我想在 运行 时间内创建一个列表框,并成功地创建了一个这样的列表框:
private void button3_Click(object sender, EventArgs e)
{
ListBox lb = new ListBox();
lb.AllowDrop = true;
lb.FormattingEnabled = true;
lb.Size = new System.Drawing.Size(200, 100);
lb.Location = new System.Drawing.Point(100, 250);
this.Controls.Add(lb);
}
但是我的列表框的函数中还需要条件,我想在设计器中添加代码以将这些也添加到列表框。我想添加这样的功能,例如:
lb.DragEnter += new System.Windows.Forms.DragEventHandler(this.lb_DragEnter);
and
private void lb_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(System.String)))
e.Effect = DragDropEffects.Move;
else
e.Effect = DragDropEffects.None;
}
我希望我把我的问题解释清楚!
欢迎堆叠。
我可能误解了你的意思,但你不能直接在你的 button3_Click 方法中添加事件吗?
private void button3_Click(object sender, EventArgs e)
{
ListBox lb = new ListBox();
lb.AllowDrop = true;
lb.FormattingEnabled = true;
lb.Size = new System.Drawing.Size(200, 100);
lb.Location = new System.Drawing.Point(100, 250);
// Your event
lb.DragEnter += new System.Windows.Forms.DragEventHandler(this.lb_DragEnter);
this.Controls.Add(lb);
}
private void lb_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(System.String)))
e.Effect = DragDropEffects.Move;
else
e.Effect = DragDropEffects.None;
}