【问题标题】:Access windows forms function from WPF windw从 WPF 窗口访问 windows 窗体功能
【发布时间】:2012-08-15 17:56:01
【问题描述】:

我试图从 WPF 窗口调用 Form1 中的一个函数,我收到以下错误

“对非共享成员的引用需要对象引用。”

尝试从 wpf 窗口访问 Form1 中的 Public 变量时也会出现同样的错误。

不可以吗?

【问题讨论】:

  • 你为什么要这样做?方法/变量是实例还是静态的?你有实例吗?
  • 我想在 Windows 窗体中使用 WebBrowser 控件,因为 wpf 浏览器控件没有 HTML 元素,所以我使用 broswer 控件单击按钮然后获取链接
  • 我不确定什么是实例或静态
  • 但是假设我想从 Form1 中获取公共值 x,我会说 Form1.x,这就是我想要做的所有事情

标签: wpf vb.net


【解决方案1】:

因此,根据 MSDN this error,尝试像引用静态变量一样引用实例变量是个问题。

如果你的类是Form1,你不能通过调用Form1.Method()来访问非静态的方法或变量。这永远不会起作用,不仅仅是在 WPF 中。这是非常基本的东西,您可能想阅读更多关于 VB 的内容。查看SharedStatic 文档。

例如,要访问 Form1 上的方法 Show(),您必须 instantiate(创建一个对象的实例),并在您的对象上调用该方法。像这样。

Dim frm As New Form1()
frm.Show()

【讨论】:

  • 所以当我执行 'form1.Timer1.Start() 时,我得到了同样的错误,尽管 form1.show() 工作正常
猜你喜欢
  • 2012-05-31
  • 1970-01-01
  • 2010-09-25
  • 1970-01-01
  • 2017-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多