場景 需求是在窗體載入完成後掉用工具類的方法,工具類中獲取窗體的多個控制項對象進行賦值。 註: 博客主頁: https://blog.csdn.net/badao_liumang_qizhi 關註公眾號 霸道的程式猿 獲取編程相關電子書、教程推送與免費下載。 實現 新建一個窗體程式,在窗體Forn1中 ...
場景
需求是在窗體載入完成後掉用工具類的方法,工具類中獲取窗體的多個控制項對象進行賦值。
註:
博客主頁:
https://blog.csdn.net/badao_liumang_qizhi
關註公眾號
霸道的程式猿
獲取編程相關電子書、教程推送與免費下載。
實現
新建一個窗體程式,在窗體Forn1中拖拽一個label控制項和TextBox控制項。
然後進入到窗體的代碼中
在構造方法前聲明靜態類變數
public static Form1 form1 = null;
在構造方法中將當前窗體賦值給上面聲明的變數
public Form1() { InitializeComponent(); form1 = this; }
窗體完整代碼:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace FromParamTest { public partial class Form1 : Form { public static Form1 form1 = null; public Form1() { InitializeComponent(); form1 = this; } private void Form1_Load(object sender, EventArgs e) { SetParam.setControlText(); } } }
新建工具類setParam
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FromParamTest { public class SetParam { public static void setControlText() { Form1.form1.label1.Text = "霸道"; Form1.form1.textBox1.Text = "流氓"; } } }
此時通過窗體類調用靜態的窗體變數,進而調用控制項對象時會提示如下
這是因為控制項預設是保護級別的,即所屬窗體私有的,要修改控制項的modifilers屬性改為public。
來到窗體設計頁面,右鍵控制項-屬性
然後雙擊窗體進入窗體的load事件中
在窗體載入完的方法中調用工具類的方法
private void Form1_Load(object sender, EventArgs e) { SetParam.setControlText(); }
運行效果