首页 > 解决方案 > 为什么文本框不打印文本,但我得到了字符串?

问题描述

我正在使用 Windows 窗体;

我想设置tbCommandName1.Text表单上的 TextBox;

我从中获得了价值GetInfo(),如何将字符串从Second.GetInfo()我的主表单发送到类Favorit

我不想创建一个实例Form;因为它会再次初始化我的所有组件。我敢打赌我必须使用get/set。请给我一些提示;非常感谢你,我的大师!

 namespace ParserFavorit
    {
        public partial class Favorit : Form, IForm
        {
            public Favorit()
            {
                InitializeComponent();
            }

        public string CommandName1
        {
            get { return tbCommandName1.Text; }
            set { tbCommandName1.Text = value; }
        }

        private void bStart_Click(object sender, EventArgs e)
        {
            string ID = tbGetID.Text;
            Second.StartBrowser(Second.GetDriver(), ID);            
        }


    }
    public class Second : Form
    {
        private static ChromeDriver driver = null;
        public static ChromeDriver GetDriver()
        {
            if (driver == null)
            {
                driver = new ChromeDriver();
            }
            return driver;
        }

        public static void StartBrowser(ChromeDriver driver, string IDevent)
        {
            driver.Navigate().GoToUrl("myURL" + IDevent);
            GetInfo();
        }

        public static void GetInfo()   
        {
            System.Threading.Thread.Sleep(2000);
            string CommandName1 = driver.FindElement(By.XPath(".//*[@id='react-root']/div/div[2]/div/div[1]/div/div[1]/div/div[1]/div/header/div[2]/span[1]")).Text;
            string CommandName2 = driver.FindElement(By.XPath(".//*[@id='react-root']/div/div[2]/div/div[1]/div/div[1]/div/div[1]/div/header/div[2]/span[2]")).GetAttribute("innerHTML");   
        }  
    }

    interface IForm
    {
        string CommandName1 { get; set; }
    }
}

标签: c#interfacewindows-forms-designer

解决方案


我确定我有一个名为 tbCommandName1; 的 TextBox;我的表格没有显示我从网站获得的价值,但方法PrintName得到了它。怎么会这样?

命名空间 ParserFavorit { public 部分类 Favorit : Form { public Favorit() { InitializeComponent(); }

    private void bStart_Click(object sender, EventArgs e)
    {
        string ID = tbGetID.Text;
        Second.StartBrowser(Second.GetDriver(), ID);
    }

    public void PrintName(string Command1Name)
    {
        string Name = Command1Name;
        tbCommandName1.Text = Name;
    }
}
public class Second
{
    private static ChromeDriver driver = null;
    public static ChromeDriver GetDriver()
    {
        if (driver == null)
        {
            driver = new ChromeDriver();
        }
        return driver;
    }

    public static void StartBrowser(ChromeDriver driver, string ID)
    {
        driver.Navigate().GoToUrl("https://m.favorit.com.ua/uk/live/events/" + ID);
        GetInfo();    
    }



    public static void GetInfo()   
    {
        System.Threading.Thread.Sleep(2000);
        string CommandName1 = driver.FindElement(By.XPath(".//*[@id='react-root']/div/div[2]/div/div[1]/div/div[1]/div/div[1]/div/header/div[2]/span[1]")).Text;
        Favorit favorit = new Favorit();
        favorit.PrintName(CommandName1);
    }
}

}


推荐阅读