C# VS2010 关于调用函数的问题

whatdoyousay 2014-08-08 05:23:32
我有2个窗体A和B,在A窗体中我写了一个函数F,我想在B中引用,写好引用A的命名空间,把F函数写成public void F(),但是为什么死活没办法调用。

我也试过直接写在B中,但是B中又必须用到A中的一个控件,同样引用A命名空间和把控件Modify改成Public仍然无法调用A中该控件

函数也没办法写成static,因为里面的控件会有 “非静态的字段、方法或属性“Application1.Form1.axMapControl1”要求对象引用”错误。
请问高手们,请问有什么好的方法么,方法多多益善。
...全文
271 点赞 收藏 6
写回复
6 条回复
dongdongdongJL 2014年08月11日
跟楼主学习了,这个技巧!
回复 点赞
auos 2014年08月11日
我是重新做构造函数,把A窗口的frm作为参数传递进去。在B里面救可以随意用了
回复 点赞
roundle 2014年08月11日
用委托,1楼应该好使
回复 点赞
http://bbs.csdn.net/topics/360140208
回复 点赞
_上帝之手 2014年08月08日
可以试试将窗口(this)作为参数传过去
回复 点赞
sunny906 2014年08月08日
用事件 A窗体:

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f = new Form2();
            f.GetText += GetText;
            f.Show();
        }

        private string GetText()
        {
            return this.txtID.Text.Trim();
        }
B窗体:


        public delegate string GetTextEvent();
        public event GetTextEvent GetText;

        private void button1_Click(object sender, EventArgs e)
        {
            string text = string.Empty;
            if (this.GetText != null)
            {
                text = this.GetText();
            }
            Console.WriteLine(text);
        }
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告