我有一个可以忽略很长时间的问题,但现在我必须解决它。
我有 3 个 GUI (Winform) 1 个主要 1 个设置和 1 个用于 Web 浏览器。
我需要在主窗体内调用 Web 浏览器窗体中的方法,因此该方法是静态方法。
但是,如果我将其设置为静态,如果我尝试使用表单中的对象,则会出现错误。
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
public static void WebLyrics(string url){
webBrowser1.Navigate(url);
}
}
最佳答案
最简单的方法是:
向网络浏览器表单添加静态Instance
属性:
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
Instance = this;
}
public static Form3 Instance { get; private set; }
public void WebLyrics(string url)
{
webBrowser1.Navigate(url);
}
}
并通过其他形式的 Instance
属性调用 WebLyrics
方法:
public partian class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Navigate()
{
Form3.Instance.WebLyrics("www.stackoverflow.com");
}
}
我假设您以某种方式在某处创建了这两种表单...
关于c# - 在静态方法中使用 Winform 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27677127/