通过Windows窗体项目处理类库项目

时间:2019-06-13 04:47:10

标签: c# winforms ui-automation class-library

我想用其他应用程序处理和控制C#中的类库项目。

我打算按照以下步骤操作,

  
      
  1. 创建类库项目
  2.   
  3. 在此类库项目中添加Windows表单
  4.   
  5. 创建另一个项目,但是这次是Windows窗体应用程序

  6.   
  7. 在其中打开Windows窗体(在步骤2中创建)。       通过Windows窗体应用程序创建的类库项目(在       步骤3)

  8.   

我以前曾使用过UI自动化来处理WPF或Windows窗体应用程序,但如何处理类库项目?

请提供指导。

编辑:

我通过在Windows窗体应用程序中添加dll,然后创建对象并使用show方法显示如下所示的窗体,来打开类库窗体

        ClassLibTestProject.Form1 f = new ClassLibTestProject.Form1();
        f.Show();

现在,我想更改ClassLibrary项目中存在的文本框中的文本。文本框的名称为 textbox1 。 我想做这样的事情textbox1.text =“从Windows Form Application更改了文本”; 但是我应该如何在Windows窗体应用程序中获取此文本框的句柄?

1 个答案:

答案 0 :(得分:1)

不要将表单控件暴露给“外部世界”,而应提供可由表单使用者调用的公共方法。

内部方法可以更新控件。

在图书馆项目中

public class Form1
{
    public void UdpateTextBoxWith(string newText)
    {
        textbox1.Text = newText;
    }
}

在Winforms应用程序中

var form = new ClassLibTestProject.Form1();
form.Show();

form.UdpateTextBoxWith("New text");