欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# WinForms父子窗體傳值詳解

admin
2024年12月1日 8:41 本文熱度 228

在C# WinForms中,父窗體與子窗體之間傳值是一個常見的需求。以下是詳細的實現步驟和示例代碼。

1. 創建父窗體

首先,創建一個父窗體,里面有一個按鈕,用于打開子窗體。

// ParentForm.csusing System;using System.Windows.Forms;public class ParentForm : Form{    private Button openChildButton;    private Label displayLabel;
   public ParentForm()    {        openChildButton = new Button() { Text = "打開子窗體", Left = 50, Top = 20 };        displayLabel = new Label() { Left = 50, Top = 60, Width = 200 };
       openChildButton.Click += OpenChildButton_Click;
       Controls.Add(openChildButton);        Controls.Add(displayLabel);    }
   private void OpenChildButton_Click(object sender, EventArgs e)    {        ChildForm childForm = new ChildForm();        childForm.ValuePassed += ChildForm_ValuePassed; // 訂閱子窗體傳值事件        childForm.Show(); // 顯示子窗體    }
   private void ChildForm_ValuePassed(object sender, string value)    {        displayLabel.Text = "接收到的值: " + value; // 更新父窗體的標簽    }
   [STAThread]        static void Main()    {        Application.EnableVisualStyles();        Application.Run(new ParentForm());    }}


2. 創建子窗體

接下來,創建一個子窗體,里面有一個文本框和一個按鈕,當按鈕被點擊時,將文本框的內容傳遞回父窗體。

// ChildForm.csusing System;using System.Windows.Forms;public class ChildForm : Form{    private TextBox inputTextBox;    private Button sendButton;
   public event EventHandlerValuePassed; // 聲明事件
   public ChildForm()    {        inputTextBox = new TextBox() { Left = 20, Top = 20, Width = 200 };        sendButton = new Button() { Text = "發送值", Left = 20, Top = 60 };
       sendButton.Click += SendButton_Click;
       Controls.Add(inputTextBox);        Controls.Add(sendButton);    }
   private void SendButton_Click(object sender, EventArgs e)    {        // 觸發事件,將值傳遞回父窗體        ValuePassed?.Invoke(this, inputTextBox.Text);        this.Close(); // 關閉子窗體    }}


3. 運行程序

父窗體會有一個按鈕“打開子窗體”,點擊后會打開子窗體。    

在子窗體中輸入一些文本并點擊“發送值”按鈕,此時文本框中的值會通過事件傳遞給父窗體。

父窗體會顯示接收到的值。

關鍵點說明:

事件:為了實現父子窗體之間的通信,使用了事件 ValuePassed,這個事件在子窗體中定義,并在發送值的的方法中被觸發。

事件訂閱:父窗體在創建子窗體后,通過 += 運算符訂閱了子窗體的事件,來處理值的接收。

通過以上步驟,您可以實現父子窗體之間的值傳遞。希望這個示例對您有所幫助!


該文章在 2024/12/4 15:25:38 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved