私はまだC#を学んでいるので、これがばかげた質問である場合は許してください。また、「長い」方法以外でこれを言う方法がわからないため、長い投稿を許してください。
私のシナリオ:
私は自分のアプリケーションにDockPanel SuiteParentForm
を使用しており、NotesForm
andがありBrowserForm
ます (実際にはもっと多くのBrowserForm
タイプがありますが、1 つに機能させることができれば、他のタイプにも機能させることができるはずです)
そのParentForm
ため、アプリケーションの開始時にロードされ、ロード時に がロードされ、からのボタン クリック イベントを介して がロードされ、NotesForm
そのインスタンスが開いたままになり、閉じません。BrowserForm
ParentForm
したがって、情報を に入力するまでに、NotesForm
3 つのフォームすべてのインスタンスが既に確立されています。(そこが問題だと思います)
私の目標は、文字列変数に入力された情報を取得しtextBox1
て、イベント経由であると思われるものをクリックすることなく、それをNotesForm
呼び出すことです。notesText
BrowserForm
NotesForm
TextChanged
現在、プロパティ (get、set) を使用してフォームに情報を取得できますが、それを実現するには、NotesForm
とのボタンをクリックする必要があります。BrowserForm
現在のやり方を示すために、一種の馬鹿げたコードを含めています。私の完全なコードは非常に大きいので、混乱を避けて、私が行っていることの概念を示すだけです.
親フォーム
public partial class parentForm : Form
{
private notesForm notesForm = new notesForm();
public parentForm()
{
InitializeComponent();
}
private void parentForm_Load(object sender, EventArgs e)
{
notesForm.Show(mainDock, DockState.DockLeft);
}
private void tb1_Click(object sender, EventArgs e)
{
BrowserForm.notesText= notesForm.passInfo;
}
ノートフォーム
public partial class notesForm : DockContent
{
private string _passInfo;
public notesForm()
{
InitializeComponent();
}
public string passInfo
{
get { return textBox1.Text; }
set
{
_passInfo = value;
textBox1.Text = _passInfo;
}
}
}
ブラウザフォーム
public partial class BrowserForm : DockContent
{
private string passInfo;
public BrowserForm()
{
InitializeComponent();
}
public string passInfo
{
get
{
return _passInfo;
}
set
{
_passInfo = value;
notesText = _passInfo;
}
}
string notesText;
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(notesText);
}
}
}
したがって、これは現在機能していますが、機能させるには、親フォームのボタンをクリックしてからブラウザフォームのボタンをクリックする必要があります。理想的には、ノート フォームのテキスト ボックスに情報を入力し終わった後で、その情報をブラウザ フォームに渡すために必要です。テキストボックスに入力される情報は静的で、常に 9 文字の長さで、数字 (電話番号) で構成されます。
また、私のアプリケーションが行うことの背景についても説明します。仕事でイントラネットのさまざまなツールにアクセスするために使用しています。40 から 80 の異なるブラウザー ウィンドウを開いているのとは対照的に、それらを 1 つのアプリケーションに統合し、最終的には (うまくいけば) それらのツールから自動的にいくつかの情報をスクレイピングするため、ページを検索する必要はありません。ツールは自動的に引っ張るだけです。これは悪意のあるものではありませんし、私はスパマーでも何でもありません。それぞれのサービスに 8 ~ 10 個のツールを持っている 10 社の異なる企業の ISP 技術サポートを行っています。
これについての支援をいただければ幸いです。または、私がやっていることをより簡単に進める方法があれば、喜んでお知らせします. また、私のコード全体を見たい場合は (それが役立つ場合)、お知らせください。投稿してもかまいません。非常に面倒です。