c# 继承的窗体如何继承窗体控件的内容
如题,我有个窗体,上面有几个文本框.是父窗体A.然后两个子窗体B,C,都继承了A.我想在B窗体上的继承区域中的文本框输入内容,然后打开C窗体,这些内容就显示出来了,不需要...
如题,我有个窗体,上面有几个文本框.是父窗体A.
然后两个子窗体B,C,都继承了A.
我想在B窗体上的继承区域中的文本框输入内容,
然后打开C窗体,这些内容就显示出来了,不需要再次输入了.请问有什么办法可以实现呢?
有没有那种设置父窗体某个属性就可以搞定的?
还是要后台写代码呢? 展开
然后两个子窗体B,C,都继承了A.
我想在B窗体上的继承区域中的文本框输入内容,
然后打开C窗体,这些内容就显示出来了,不需要再次输入了.请问有什么办法可以实现呢?
有没有那种设置父窗体某个属性就可以搞定的?
还是要后台写代码呢? 展开
4个回答
展开全部
1,可以把要部分继承的空间单独封装成一个父类。
2,编程方式创建继承窗体
·新建一个项目,添加一个Windows窗体Form1.cs
·在其上面添加一个TestBox,一个Lable,一个Button控件,Button的click事件为lable显示为TextBox中的输入信息
·向项目中添加一个Windows窗体,Form2.cs,在Form2.cs中修改继承的基类为Form--》Form1,双击button1按钮,定义click事件为当点击按钮时,将lable1的背景色设为红色。
如果继承的时候你希望继承的窗体能够对某个控件进行修改,那么请将此控件的Modifires属性设置为Public,哪些不允许修改的可以仍然设置为Private,
3,使用继承选择器继承窗体需要注意的是被继承的窗体要先生成dll档,然后在继承的窗体中引用此Dll文件才可以哦!
2,编程方式创建继承窗体
·新建一个项目,添加一个Windows窗体Form1.cs
·在其上面添加一个TestBox,一个Lable,一个Button控件,Button的click事件为lable显示为TextBox中的输入信息
·向项目中添加一个Windows窗体,Form2.cs,在Form2.cs中修改继承的基类为Form--》Form1,双击button1按钮,定义click事件为当点击按钮时,将lable1的背景色设为红色。
如果继承的时候你希望继承的窗体能够对某个控件进行修改,那么请将此控件的Modifires属性设置为Public,哪些不允许修改的可以仍然设置为Private,
3,使用继承选择器继承窗体需要注意的是被继承的窗体要先生成dll档,然后在继承的窗体中引用此Dll文件才可以哦!
展开全部
在B上写:
public static void bstr="";
A、C上写:
B.bstr=你要传的值
这样就可以了,这是继承的方法
在B上get{} set{}封装变量
在A、C上赋值,通过Show的方法不是继承,你必须通过模态窗体启动才能达到目的。
这俩方法区别就是在这里
public static void bstr="";
A、C上写:
B.bstr=你要传的值
这样就可以了,这是继承的方法
在B上get{} set{}封装变量
在A、C上赋值,通过Show的方法不是继承,你必须通过模态窗体启动才能达到目的。
这俩方法区别就是在这里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//父类里面控件的Modifiers属性全部改成public,
public partial class A : Form
{
public A()
{
InitializeComponent();
}
//填完A上面的值后,克隆B
private void button1_Click(object sender, EventArgs e)
{
B b = new B(this);
b.Show();
}
}
public class B : A
{
public B(A a)
{
textBox1.Text = a.textBox1.Text;
//其他仿照写
}
}
追问
我点按钮打开B的方法是反射打开出来的.请问如何实现
这里面的this传值呢?
XtraForm frm = (XtraForm)Assembly.LoadFile(assemblyName).CreateInstance("FEGIT.PPS.UI." + e.Link.Item.NavBar.ActiveGroupName + "." + formName);
追答
那你就继续反射其他属性,字段,赋值。有点麻烦。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询