c#.net中一个窗体需要引用其他窗体的axmapcontrol,怎么添加构造函数?
本人初学,请写出具体代码。原文构造函数如下:namespacejusttrytry{staticclassProgram{///<summary>///应用程序的主入口点...
本人初学,请写出具体代码。
原文构造函数如下:
namespace justtrytry
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
请问form1得()里应该写点什么? 展开
原文构造函数如下:
namespace justtrytry
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
请问form1得()里应该写点什么? 展开
2个回答
展开全部
C#中父视窗和子视窗之间实现控制项交互操作
很多人都苦恼於如何在子表单中操作主表单上的控制项,或者在主表单中操作子表单上的控制项。相比较而言,後面稍微简单一些,只要在主表单中创建子表单的时候,保留所创建子表单物件即可。
下面重点介绍前一种,目前常见的有两种方法,基本上大同小异:
第一种,在主表单类中定义一个静态成员,来保存当前主表单物件,例如:
public static yourMainWindow pCurrentWin = null;
然後在主表单构造函数中,给静态成员初始化,如下:
pCurrentWin = this;
那麼在子表单中调用父表单,可以通过“主表单类名. pCurrentWin”来操作当前的主表单。
第二种,是在子表单中定义一个私有成员,来保存当前主表单物件,例如:
private yourMainWindow pParentWin = null;
然後在子表单构造函数中,加一参数,如下:
public yourChildWindow( yourMainWindow WinMain )
{
pParentWin = WinMain;
//Other code
}
在主表单创建子表单的时候,要把this作为参数来构造子表单,这样在子表单中调用父表单,可以直接用“this.pParentWin”就可以了
不过以上所作的,只是让你能够访问当前主表单物件,那麼如何操作控制项,很多人直接修改控制项的成员访问符,即把“private”改为“public”,我觉得这样破坏了本身类的封装,所以我比较喜欢的做法是增加公有属性或方法来供调用,例如:
public string ButtonText
{
get{ return btn.Text;}
set{ btn.Text = value;}
}
public void Button_Click()
{
this.btnDConvert.PerformClick();//Execute button click
}
很多人都苦恼於如何在子表单中操作主表单上的控制项,或者在主表单中操作子表单上的控制项。相比较而言,後面稍微简单一些,只要在主表单中创建子表单的时候,保留所创建子表单物件即可。
下面重点介绍前一种,目前常见的有两种方法,基本上大同小异:
第一种,在主表单类中定义一个静态成员,来保存当前主表单物件,例如:
public static yourMainWindow pCurrentWin = null;
然後在主表单构造函数中,给静态成员初始化,如下:
pCurrentWin = this;
那麼在子表单中调用父表单,可以通过“主表单类名. pCurrentWin”来操作当前的主表单。
第二种,是在子表单中定义一个私有成员,来保存当前主表单物件,例如:
private yourMainWindow pParentWin = null;
然後在子表单构造函数中,加一参数,如下:
public yourChildWindow( yourMainWindow WinMain )
{
pParentWin = WinMain;
//Other code
}
在主表单创建子表单的时候,要把this作为参数来构造子表单,这样在子表单中调用父表单,可以直接用“this.pParentWin”就可以了
不过以上所作的,只是让你能够访问当前主表单物件,那麼如何操作控制项,很多人直接修改控制项的成员访问符,即把“private”改为“public”,我觉得这样破坏了本身类的封装,所以我比较喜欢的做法是增加公有属性或方法来供调用,例如:
public string ButtonText
{
get{ return btn.Text;}
set{ btn.Text = value;}
}
public void Button_Click()
{
this.btnDConvert.PerformClick();//Execute button click
}
展开全部
在Form1里加上一个axmapcontrol字段,在构造函数里将要调用的对象传过去
例如:
private axmapcontrol ax;
public Form1(axmapcontrol axmap)
{
this.ax=axmap;
InitializeComponent();
}
然后就可以在另一个窗体里引用那个对象了
例如:
private axmapcontrol ax;
public Form1(axmapcontrol axmap)
{
this.ax=axmap;
InitializeComponent();
}
然后就可以在另一个窗体里引用那个对象了
追问
请问是在form。cs里改还是在program。cs里面改?
追答
Form.cs里把这些代码加上就可以了,调用的时候是
From1 form=new From1(这里放一个axmapcontrol对象);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询