永发信息网

C# UserControl

答案:6  悬赏:70  手机版
解决时间 2021-02-02 01:23
C# UserControl
最佳答案
可以在form_load事件里把this传给usercontrol,然后在usercontrol里调用form的各种方法,不过这种做法不太好,耦合性较高。
标准做法是用事件传递
usercontrol里加如下代码:
public delegate void FormCloseEventHandler(object sender, EventArgs e);

public event FormCloseEventHandler FormClose;

private void button_quit_Click(object sender, EventArgs e)
{
if (this.FormClose != null)
{
FormClose(this, new EventArgs());
}
}

在form里添加如下代码:
form_load事件里:
this.userControl.FormClose += new UserControl.FormCloseEventHandler(this.userControl_FormClose);

单独的方法:
private void userControl_FormClose(object sender, EventArgs e)
{
this.Close();
}

后面的enter和Esc都可参考以上方法解决,关于事件的用法再去查查msdn吧。。。
全部回答
废话不多说 顶3楼
问题一:
UserControl里放个CLOSE按钮,加入代码:
Form form1 = this.Parent as Form;
form1.Close();
问题二:
在UserControl中加入下面事件
private void UserControl1_KeyPress(object sender, KeyPressEventArgs e)
在下面的事件中判断KEY的值....
再作处理....
Form frm = this.FindForm();
if(frm!=null)
{
frm.Close();
}
private void button_quit_Click(object sender, EventArgs e)
{
this.ParentForm.Close()
}
顶楼上,如果自己不拖这个控件,我应该如果来加载这个用户自定的控件到指定的相对位置,实例化这个对象,然后加载到相对位置。这个我应该如何来完成。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
汉诺雷斯橱柜怎么样?
sql int时间类型转换成datetime类型
【水浒传主题】《水浒传》的主题思想应如何理
遇到热空气就咳嗽是什么原因?遇冷就没事儿
电饭煲的盖子连接处断掉了能修么
iphone5 4G问题 机器是A1429的 说是联通出了
女,45岁。当听到家中房子因洪水倒塌的消息后
小厨宝漏电怎么办?
4分之1千米等于多少米
超市营业额是20000万如果扣八个点怎么算
网络密钥是WiFi 密码吗
以鸦片战争作为中国近代史的开端,主要依据是
口咸味是什么问题
宝马420i和宝马428i哪个好
哪里可以下载小鸟3号全集?要汉语的不要英语的
推荐资讯
白萝卜冷库温度
紫薇小学是那个管理处的
请教E族各位前辈!丰田80.已改1HZ柴油发机.计
秋子是什么意思?
请问,广场大妈想学民族舞在广州哪里学
我和我女朋友经常吵架 他脾气比较暴躁 两句话
聚点量贩式KTV(西园路店)怎么去啊,我要去那
西哄村地址好找么,我有些事要过去
春蕾幼儿园(大连普兰店市)地址在什么地方,我
梦松花卉地址有知道的么?有点事想过去
如图甲、乙、丙分别表示在有限空间内培养(或
海韵琴行(廊坊永清县)怎么去啊,我要去那办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?