投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/7/30 16:26:59
> テキストボックスに入力してOKボタンを押すとフォーム1のRichTextBox1に反映する方法が知りたいです。
方法は幾つかありますが、ここでは Form4 側に、テキストボックスの内容を返すための
「SrcText プロパティ」「AltText プロパティ」を用意する方法を提示しておきます。


(1) Form4 の [AcceptButton] プロパティに、OK ボタンを割り当てておきます。
 キャンセルボタンがある場合には、[CancelButton] プロパティも設定しましょう。

(2) OK ボタンの [DialogResult] プロパティに、"OK" を割り当てます。
 キャンセルボタンがある場合には、"Cancel" を割り当てておくと良いでしょう。

(3) Form4 に、SrcText プロパティの定義を追加します。
Private _SrcText As String = ""
Public ReadOnly Property SrcText() As String
    Get
        Return _SrcText
    End Get
End Property

(4) 同様に、Form4 に AltText プロパティを追加します。
Private _AltText As String = ""
Public ReadOnly Property AltText() As String
    Get
        Return _AltText
    End Get
End Property

(5) Form4 の FormClosing イベントに、以下のコードを記述します。
If Me.DialogResult = System.Windows.Forms.DialogResult.OK Then
    _SrcText = TextBox1.Text    '画像の場所 
    _AltText = TextBox2.Text    '代替テキスト 
Else
    _SrcText = ""
    _AltText = ""
End If



これで準備完了です。呼び出し側(Form1)のコードは、たとえば以下のようになります。

Using f As New Form4()
    If f.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
        RichTextBox1.SelectedText = String.Format( _
            "<IMG src=""{0}"" alt=""{1}"">", _
            f.SrcText, f.AltText)
    End If
End Using