C# Übergeben von Werten aus einem Formular an ein anderes Formular öffnen
Lerne ich die Programmiersprache C# und mache ein Abrechnungsprogramm addon für SAP Business One. Ich habe zwei Formen, und ich möchte einen Wert aus PayrollFormulaBuilder.cs EarnDeductSetup.cs.
Den PayrollFormulaBuilder verwendet wird, die von einem Benutzer zum erzeugen einer Formel gespeichert wird, in eine Zeichenfolge. Ein Benutzer klickt auf eine Taschenrechner-Taste auf der EarnDeductSetup form, um zu öffnen, die PayrollFormulaBuilder form. Die EarnDeductSetup form ist noch offen, aber im hintergrund. Ich möchte die generierte Formel, um zu zeigen, meine EarnDeductSetup form (ich habe eine textbox, txt_formula_template.Text), sobald ein Benutzer klickt auf ein "auf die Schaltfläche" Übernehmen PayrollFormulaBuilder form. ich würde auch gerne für diese PayrollFormulaBuilder form zu schließen, sobald der button anwenden gedrückt wird.
Gerade jetzt, ich bin nicht in der Lage zu zeigen, die generierte Formel auf meine EarnDeductSetup form
Mein Code: (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();
}
Meine Frage ist, wie bekomme ich diese Formel um zu zeigen, auf meine txt_formula_template.Text textbox auf meiner EarnDeductSetupForm, sobald der Benutzer die Taste anwenden auf die PayrollFormulaBuilder form?
- verwenden Sie Ereignis für die. Here ist das Beispiel in meiner Antwort
- Danke. Ihre Lösung in deinem link hat mein problem gelöst. Ich musste wissen, wie Sie übergeben Sie eine variable ohne Aufruf eine neue Instanz des übergeordneten Formulars. Dank
- Schön zu hören, dass es geholfen 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Legen Sie die Schaltfläche in der übergeordneten form zu intern, dann verwenden Sie die Eltern oder parentform-Eigenschaft in das Dialogfeld zugreifen, indem er es für den übergeordneten Typ (diese aussetzen sollte der interne Schaltfläche mit intellisense). Rufen Sie die ShowDialog-mit "this" als parameter (ohne quotes).
Ereignisse zu abonnieren, die auf der internen Taste wird das übergeordnete Formular, in das Kind-dialog. Und tun Sie etwas im Ereignis-handler.
Können Sie einen Blick auf http://social.msdn.microsoft.com/forums/en-US/winforms/thread/d925077a-d013-481b-8ce5-3d1af1cd924e/ und http://www.daniweb.com/software-development/vbnet/threads/43763
BTW, kannst du google, bevor Sie Fragen stellen.