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”要求对象引用”错误。
请问高手们,请问有什么好的方法么,方法多多益善。
...全文
338 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongdongdongJL 2014-08-11
  • 打赏
  • 举报
回复
跟楼主学习了,这个技巧!
auos 2014-08-11
  • 打赏
  • 举报
回复
我是重新做构造函数,把A窗口的frm作为参数传递进去。在B里面救可以随意用了
roundle 2014-08-11
  • 打赏
  • 举报
回复
用委托,1楼应该好使
threenewbee 2014-08-08
  • 打赏
  • 举报
回复
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);
        }

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧