如何从另一个表单 C# 中获取字符串的值

本文关键字:获取 字符串 另一个 表单 | 更新日期: 2023-09-27 18:30:49

当我从另一个形式调用字符串时,字符串是一个空字符串。

(Messenger) Form 2:
Facebook mainlist = new Facebook();
if (!(iurl == mainlist.currentstring))
{
iurl = mainlist.currestring; //Update the string
MessageBox.Show("success!");
}
(Facebook) Form 1:
public string currentstring{ get; set; }

信息:

我正在使用 CEF3,在我的表单 1 中,我的应用程序会自动获取当前网址

    private void OnBrowserAddressChanged(object sender, AddressChangedEventArgs args)
    {
        currenturl.Text = args.Address;
        thistring = args.Address;
    }

当当前网址的某个文本被更改时,这将打开一个新的表单(信使)

        currenturl.TextChanged += (s, e) =>
        {
            currentinbox = currenturl.Text;
            MessageBox.Show(currentinbox + " = " + currenturl.Text);
            if ((currenturl.Text.Contains("https://www.messenger.com/t/") == true) & (currenturl.Text.Contains("https://www.messenger.com/t/me/") == false))
            {
                Process[] pname = Process.GetProcessesByName("Facebook");
                if (!(pname.Length == 3))
                {
                    Messenger inbox = new Messenger();
                    inbox.iurl = currenturl.Text;
                    inbox.Show();
                    browser.Back();
                }
            }
        };

然后在我的Form2(信使)中自动启用计时器。

    private void DetectUrl_Tick(object sender, EventArgs e)
    {
        Facebook mainlist = new Facebook();
        if (!(iurl == mainlist.currentinbox))
        {
            string inboxme = "var els = document.getElementsByTagName('"a'");" +
            "for (var i = 0, l = els.length; i < l; i++) {" +
            "var el = els[i];" +
            "if (el.href === '"https://www.messenger.com/t/'"" + mainlist.currentinbox + "'") {" + 
            "el.click();" +
            "}" +
            "}";
            iurl = mainlist.currentinbox;
            MessageBox.Show(iurl + " = " + mainlist.currentinbox);
            browser.ExecuteScriptAsync(inboxme);
        }
    }

但是"mainlist.currentinbox"是空的或空的字符串

如何从另一个表单 C# 中获取字符串的值

Form1:

    private void label1_Click(object sender, EventArgs e)
    {
        Form2 n = new Form2();
        label1.Text = n.lol;
    }

表格2:

    public string lol = "xd";

它目前有效吗?也许您在示例中没有为thistring变量分配任何内容?