永发信息网

在form1里有个listbox,form2里有个button,怎么做到:在button的事件里把listbox的items给删除一个:

答案:5  悬赏:40  手机版
解决时间 2021-01-24 06:14
  • 提问者网友:做自己de王妃
  • 2021-01-23 11:30
在form1里有个listbox,form2里有个button,怎么做到:在button的事件里把listbox的items给删除一个:
最佳答案
  • 五星知识达人网友:行路难
  • 2021-01-23 12:01
你想在窗体Form2中改变窗体Form1中的内容,可以这样做:
(1)将窗体Form1中需要被修改的内容设置为public或public static;
(2)在Form1类中增加打开Form2窗体的语句;
(3)在窗体Form2类中定义Form1窗体变量,作为Form2的成员;
(4)修改Form2的构造方法,增加初始化Form1窗体变量的语句;
(5)在Form2窗体的任何有效范围内,通过修改Form1窗体变量的值来达到修改Form1窗体的目的。

例:
class Form1 : Form{
...

public ListBox listbox1; (1)
...

public ..._Click(...)
{
Form2 frm = new Form2(this);
frm.Show(); (2)
...
}
}

class Form2 : Form{
private Form1 frmParent; (3)

public Form2(Form1 frmParent)
{
...
this.frmParent = frmParent; (4)
}

public button1_Click(...)
{
frmParent.listBox1.items.RemoveAt(0); (5)
}
...
}

第(5)处即为在form2中动态修改form1中的控件的值的语句。
全部回答
  • 1楼网友:鱼芗
  • 2021-01-23 14:29
mark ~~~~
  • 2楼网友:山有枢
  • 2021-01-23 14:07
for(i = 0;iif(form2.items[i].selected)
form2.litem[i].delete();
break;追问你这写得完全看不懂,首先,你的items是什么,我说的items是form1中的listbox的一个属性;你if语句中的那个判断正确吗,貌似不对吧
  • 3楼网友:平生事
  • 2021-01-23 13:44
首先一定要让两个form有关系。 比如在form1里让form2启动起来 或者 把form1设置成静态全局变量。。。第二对form2添加public event EventHandler 让form1里面可以使用该事件
  • 4楼网友:不想翻身的咸鱼
  • 2021-01-23 12:25
Form1 button1弹出Form2
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.DeleteItems += new EventHandler(f2_DeleteItems);
f2.Show(this);
}
void f2_DeleteItems(object sender, EventArgs e)
{
if (listView1.Items.Count > 0)
{
this.listView1.Items.RemoveAt(this.listView1.Items.Count - 1);
}
}
From2
public event EventHandler DeleteItems;//事件
public Form2()
{
InitializeComponent();
}
//删除
private void button1_Click(object sender, EventArgs e)
{
if (DeleteItems != null)
{
DeleteItems(sender,e);
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯