[英]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 表單上顯示生成的公式
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;
}
namespace Payroll.Util.Helpers
{
public static class SAPUtility
{
public static string _formulaVariable = String.Empty;
public static string variable
{
get { return _formulaVariable; }
set { _formulaVariable = value; }
}
...
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.