C#窗体实现FTP上传困难小记

向其他类传递Form窗体内控件的解决方案

  1. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    //Form1里写
    public string LableText
    {
    get{return this.label.Text;}
    set{this.label.Text = value;}
    }
    //打开form2时把自己传过去
    new Form2(this).Show();

    //Form2构造:
    pubilc Form2(Form1 f1)
    {
    ....
    }
    //按钮事件:
    this.f1.LabelText = "aaaaaaaaa";
  2. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    //用event 

    Class Form1
    {
    public Form1()
    {
    Form2 form = new Form2();
    form.TestBtn.Click += new System.EventHandler(this.Form2ButtonClicked);
    }

    private Form2ButtonClicked(object sender, EventArgs e)
    {
    this.label1.Text = "Clicked";
    }
    }

    Class Form2
    {
    public Button TestBtn= new Button();
    }

这只是最基本的实现方法 (当然不是好方法),等你明白event 和 delegate 以后,自己就会有更好的答案了。

Visual Studio 2019
注释: 先CTRL+K,然后CTRL+C
取消注释: 先CTRL+K,然后CTRL+U

参考资料

  1. c#怎么修改另一窗体中控件的属性
  2. c# 大文件分割 复制 Filestream 进度条
  3. C# 实现FTP文件的上传和下载