0

私はこれを持っています:

public partial class FrmUpload : Form
{
    public FrmUpload()
    {
        InitializeComponent();
    }

    public FrmUpload(Dictionary<string, string> ft) : base()
    {
        foreach (KeyValuePair<string, string> ctrl in ft)
        {
            Controls.Find(ctrl.Key, true)[0].Text = ctrl.Value;
        }
    }

    private void BtnCancelClick(object sender, EventArgs e)
    {
        DialogResult = DialogResult.Cancel;
        Close();
    }

    private void BtnExitClick(object sender, EventArgs e)
    {
        DialogResult = DialogResult.OK;
        Close();
    }
}

これを試すと、インデックス例外が発生します。デバッグすると、InitializeComponent() が実行されないことがわかります。

私のメインアプリのコード:

var frmUpload = new FrmUpload(FormTextUpload);
if (frmUpload.ShowDialog() != DialogResult.OK) return;
4

1 に答える 1

1

基本クラスのコンストラクターを呼び出す代わりに:

public FrmUpload(Dictionary<string, string> ft) : base()

独自のパラメーターなしのコンストラクターを呼び出します。

public FrmUpload(Dictionary<string, string> ft) : this()
于 2012-12-08T07:02:51.820 に答える