簡體   English   中英

C# 將值從一個表單傳遞到另一個打開的表單

[英]C# Passing values from one form to another open form

我正在學習 C# 編程語言,並正在為 SAP Business One 制作工資單程序插件。 我有兩個 forms,我想將 PayrollFormulaBuilder.cs 中的值傳遞給 EarnDeductSetup.cs。

用戶使用 PayrollFormulaBuilder 生成公式並保存為字符串。 用戶單擊 EarnDeductSetup 表單上的計算器按鈕以打開 PayrollFormulaBuilder 表單。 EarnDeductSetup 表單仍處於打開狀態,但在后台。 一旦用戶單擊 PayrollFormulaBuilder 表單上的“應用”按鈕,我希望生成的公式顯示在我的 EarnDeductSetup 表單(我有一個文本框,txt_formula_template.Text)上。 我還希望在按下應用按鈕后立即關閉此 PayrollFormulaBuilder 表單。

現在,我無法在 EarnDeductSetup 表單上顯示生成的公式

我的代碼:(EarnDeductSetupForm)

namespace EIM_Payroll_Application
{
    public partial class EarnDeductSetupForm : Form
    {
        private SAPbobsCOM.Company company;

        public string SAPCodePD { get; set; }

        public EarnDeductSetupForm(SAPbobsCOM.Company co)
        {
            InitializeComponent();
            this.company = co;
        }

...

private void btn_calculator_Click(object sender, EventArgs e)
        {
            PayrollFormulaBuilder PC = new PayrollFormulaBuilder();
            PC.ShowDialog();
        }

...

    if (rb_calculated_amt.Checked == true)
    {
        txt_formula_template.Text = SAPUtility._formulaVariable;

        formulaTemplate = txt_formula_template.Text;
    }

SAPUtility.cs

namespace Payroll.Util.Helpers
{
    public static class SAPUtility
    {
        public static string _formulaVariable = String.Empty;

        public static string variable
        {
            get { return _formulaVariable; }
            set { _formulaVariable = value; }
        }

...

PayrollFormulaBuilder.cs

private void btnApply_Click(object sender, EventArgs e)
{
    SAPUtility._formulaVariable = formula_display.Text;

    this.Close();

    EarnDeductSetupForm.ActiveForm.ShowDialog();
}

我的問題是,一旦用戶按下 PayrollFormulaBuilder 表單上的應用,我如何讓這個公式顯示在我的 EarnDeductSetupForm 上的 txt_formula_template.Text 文本框中?

將父表單中的按鈕設置為 internal,然后使用對話框中的 parent 或 parentform 屬性來訪問它,方法是將其強制轉換為類型的父項(這應該使用智能感知公開內部按鈕)。 以“this”作為參數調用 ShowDialog(無引號)。

在子對話框中訂閱父表單的內部按鈕上的事件。 並在事件處理程序中做你的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM