0

私が持っているのは、ERP から呼び出されるプロジェクトです。ERP は、C# プロジェクトで公開されている関数を呼び出し、情報がやり取りされます。これはうまく機能しますが、「キャンセル」ボタンに問題があります。キャンセルボタンをクリックすると、C#フォームを閉じて何も返さないようにしたい....ほとんどC#のアクションを終了し、ERPへの接続を切断するだけです。多くの形式の環境コマンドとアプリケーション コマンドを試しましたが、ERP と C# フォームも閉じます。これに対する最善のアプローチの推奨事項はありますか? ボタンから ERP にダイアログを送信し、ERP が真の値で何もしないようにすることはできますが、これを達成するためのより効率的な方法がないかどうか疑問に思っています。少し早いですがお礼を。

編集:ボタンを含むフォームの現在のコードは次のとおりです。キャンセル ボタンは DialogResult = Cancel で設定されています...

問題は、このフォームがインスタンス化されるときに特定の関数が ERP から呼び出されることです。this.close() を使用すると、フォームは閉じられますが、ERP に値が返されます。これは望ましくありません。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace NavAutomation
{
    public partial class NAVForm : Form
    {
        public NAVForm(string frmName, int maxLen)
        {
            InitializeComponent();
        }

        private void NAVForm_Load(object sender, EventArgs e)
        {
        }

        public string RetVal1 { get; set; }
        public string txtB1 { get; set; }
        public int txtB1Len { get; set; }
        private void button2_Click(object sender, EventArgs e)
        {
            this.RetVal1 = textBox1.Text;

            this.Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
            Application.Exit();
        }
    }
}
4

1 に答える 1

1

私がやったことは、デフォルトでboolをtrueに設定し、キャンセルボタン/閉じるボタンでfalseを返し、ERPの呼び出しコードを終了するだけで、夢のように機能します。コメントありがとうございます。

于 2014-01-23T21:24:19.990 に答える