C#winform 主窗体上的用户控件怎样调用主窗体的一个方法!

用户控件里点击button后调用主窗体方法。
主窗体的方法是自定义的,只有一个int型参数。
请给出具体的解决方法,谢谢。

第1个回答  2011-05-03
楼上几位的方法估计不行,因为要调用的方法只有一个Int参数,并没有事件驱动,所以在事件列表中看不见该函数。所以需要间接调用,方法如下:
private void yourFunction(int args){
....
}
双击按钮会直接进入该按钮的Click后台事件,在事件中调用你的函数。
选控件,打开属性窗口,选择事件页,在某个事件后,双击生成新的事件
private void Button1_click(object sender eventargs e){
yourFunction(123);
}追问

调用的函数是在主窗体的,在用户控件中无法访问。

追答

1.采用 intertnal 修饰符修饰那个函数
2.不行的话就新建个文件(类 文件【.cs的】),函数放里面,用的时候声明下这个类就能调用了

第2个回答  推荐于2018-04-05
假设有两个窗体A,B
A窗体里有一个静态的自定义方法public static void C(int x);
B窗体有一个按钮Button
具体代码如下:
A窗体的静态C方法:
public static void C(int x)
{
MessageBox.Show(x.ToString());
}
B窗体的按钮事件代码:
private void button1_Click(object sender, EventArgs e)
{
A.C(1);
}
希望对你有帮助!
天津程序员网

参考资料:http://www.tjcoder.com

本回答被提问者和网友采纳
第3个回答  2011-05-03
选控件,打开属性窗口,选择事件页,在某个事件后加上要调用的方法名即可。
第4个回答  2011-05-03
在设计界面选中控件,打开属性窗口选择事件项,在要实现的事件后下拉选中要调用的方法名
第5个回答  2011-05-03
双击button进入代码页面
private void button1_Click(object sender, eventargs e)
{
//调用方法
Method(123321);
}

private void Method(int paramInt)
{
//方法 如果有返回值则void改成返回值的类型
//方法代码
}

C#winform 主窗体上的用户控件怎样调用主窗体的一个方法!
楼上几位的方法估计不行,因为要调用的方法只有一个Int参数,并没有事件驱动,所以在事件列表中看不见该函数。所以需要间接调用,方法如下:private void yourFunction(int args){ ...} 双击按钮会直接进入该按钮的Click后台事件,在事件中调用你的函数。选控件,打开属性窗口,选择事件页,在某个事件...

c#中自定义控件怎么调用主窗体中的方法
可是现在关键的是这个自定义控件就是这个主窗体的一部分,你不能在给他添加show了 回答: 把第一句声明Form去掉,最后一句:主窗体.tabControl1.Controls.Add(tbPage);这句不加你直接写成Form1.tabControl1.Controls.Add(tbPage);他会提示tabcontrol要求引用,如果你之写成Form1 form;不能使用未赋值的...

C#的winform程序,主窗体的调用问题
可以这样做,没什么问题,也没必要定义静态类,只需要象你上面声明静态变量就可以了。当然,也可以比如在program.cs里(当然你其它类也行),加入 public static FrmMain frmMain =null;然后在frmMain窗体的初始化或者load中加program.frmMain=this;基本一样的 ...

...窗体应用程序:用户控件中button按钮Click事件如何调用主窗体的...
在你的用户控件里面添加自己的事件 public delegate void TestEvents();public event TestEvents MyTestEvens;在里面的button事件里面抛出事件如:private void button1_Click(object sender,EventArgs e){ if (MyTestEvens != null){ MyTestEvens();} } 然后再你的主窗体里面添加事件:(test1就是用户...

WPF的用户控件怎么访问主窗体的控件?求高手
我想当用户控件被点击后就清空主窗体里Grid控件里的所有子控件。private void lbl_MenuName_MouseLeftButtonDown(object sender, MouseButtonEventArgs e){\/\/frm_Manage为主窗体,Grid_MenuChildren为主窗体的一个控件var frm = (this.Parent as frm_Manage);frm.Grid_MenuChildren.Children.Clear();}...

C# 怎么在自定义的方法里调用窗体控件 或者 在另一个窗体里调用本窗体控...
通过挂载事件的方式跨Form调用。以下为在主窗体调用子窗体的TextBox2来设置主窗体Textbox1的代码:主窗体:private void button1_Click(object sender, EventArgs e){ Form2 frm = new Form2();frm.Closed += new EventHandler(this.CloseForm2);frm.ShowDialog();} private void CloseForm2(object...

C#Winform窗体如何打开用户控件
假设你有一个form1,里面有一个button1,你还有一个用户控件userControl1 你想通过button1打开userControl1 那你可以在button1的Click事件里面写 var userControl=new userControl1();userControl.ShowDialog();

C#自定义类中如何获取主窗口的控件引用
1、为该控件构建一个控件属性 public TextBox myTextBox { get { return textBox1;} } 这种方法,会透漏textbox的所有属性,不够安全。2、只构造自己想用的属性,比如text属性 public string myTextString { set {textBox1.Text=value;}\/\/如果只想获取Text,set就不用写了 get {return text...

C#(WinForm)的问题~怎么设置某个Form为主窗口?
\/\/\/ 应用程序的主入口点。\/\/\/ [STAThread]static void Main(){ Application.Run(new Form1());} 把中间的 Form1 改成你要弹出的窗口名就可以了 如果你使用的是 2005 则在项目中有一个 Program.cs 这个文件 能看到其中代码是 static void Main(){ Application.EnableVisualStyles();Applicati...

winform 用户控件A调用户控件B的方法(急)
public void GetList(){ if(OnGetMainFormDataList != null){ OnGetMainFormDataList();\/\/调用主窗体的函数 } } } 在主窗体创建用户控件时.UserControl1 userControl = new UserControl1();userControl.OnGetMainFormDataList += new GetDataList(this.GetList);\/\/和主窗体的函数绑定 userControl...

相似回答