私の質問と説明が単純すぎると思われる場合や、他の人から既に質問されている場合は、私の謝罪を受け入れてください.
以前にも似たような質問をしたことがあるかもしれません。ただし、winformについてはまだ少し混乱しています。Mainform、Form1、Form2、Form3を含む Delphi プリズム .net プログラムがあるとします。さらに、Mainform、Form2、および Form3 内から Form1 の単一のインスタントを表示できるようにする必要があります。どうやってそれをしますか?RichTextBox 内でアプリケーション エラーを表示するには、プログラム全体で必要に応じて表示する必要がある winform が必要です。これは、SysErrorDlg winform をいつでもプログラムのどこからでも呼び出して、プログラム エラーを表示できることを意味します。私がこれを行うことができるのは、プログラム全体で SysErrorDlg winform の単一のインスタンスのみにアクセスできる場合です。
以下の非常に単純なコードに従ってください。それは私がやろうとしていることです。
=========================================
Mainform
using
Form1;
Form2;
Form3;
Mainform1 = class(System.Windows.Form)
private
method ShowBtn_Click(sender: System.Object; e: System.EventArgs)
public
constructor;
F1:Form1;
end;
constructor MainForm1;
begin
F1 := new Form1;
end;
method Mainform1.ShowBtn_Click(sender: System.Object; e: System.EventArgs);
begin
F1.Show; // or ShowDialog;
end;
=====================================================
Form1
Form1 = class(System.Windows.Form)
private
public
constructor;
end;
constructor Form1;
begin
end;
=====================================================
Form2
using
Mainform;
Form2 = class(System.Windows.Form)
private
method ShowBtn_Click(sender: System.Object; e: System.EventArgs)
public
constructor;
end;
constructor Form2;
begin
end;
method Form2.ShowBtn_Click(sender: System.Object; e: System.EventArgs);
begin
MainForm1.F1.Show; // or ShowDialog;
end;
====================================================
Form3
Using
MainForm;
Form3 = class(System.Windows.Form)
private
method ShowBtn_Click(sender: System.Object; e: System.EventArgs)
public
constructor;
end;
constructor Form3;
begin
end;
method Form3.ShowBtn_Click(sender: System.Object; e: System.EventArgs);
begin
MainForm1.F1.Show; // or ShowDialog;
end;
============================================
それは可能ですか?私のコンパイラは、グローバルな winform 変数を宣言することを許可しませんが、パブリックであることを識別する必要があると不平を言います。この機能を有効にするオプションがあったとしても、変数をクラスに対してプライベートまたはローカルに保つという考えが好きなので、そうしたくありません。
Form1 のインスタンスが Mainform 内で既に宣言およびインスタンス化されている場合、form1 のインスタンスを form2 または form3 に渡すにはどうすればよいでしょうか? show と showdialog の仕組みを理解しています。Form1 インスタンスが MainForm 内にある場合、Form2 から Form1 インスタンスにアクセスするには、どのコード行を使用しますか?
説明とともに小さなコードを提供できます。