C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 外部フォームの値の取得


(過去ログ 64 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■36406 / inTopicNo.1)  外部フォームの値の取得
  
□投稿者/ EarthIsland (1回)-(2009/05/28(Thu) 15:53:34)

分類:[C#] 

質問します。
VB.Netで下記のようなプロシージャを作成しています。
フォーム同士で、パラメータを渡してSQL文を投げて
フォームのグリッドにそれを表示する、といったやりかたです。

VB.Netで,
Dim objFrmFoodMiddleCategory As New FrmFoodMiddleCategory()
と宣言すれば、
objFrmFoodMiddleCategory.txtSeekFilter().Text
のように、外部のフォームのコントロール名とプロパティを表示あるいは設定出来るのですが、

C#ではそれがうまくきません。C#ではthis、つまり同フォーム内のみでしか
コントロールのプロパティを表示あるいは設定できないのでしょうか。

よろしくお願いします。

'*-----------------------------------------------------------------------------
'* 名前 :cmdOpenFrmFoodMiddleCategory_Click
'* 記述 :フォーム起動cmdOpenFrmFoodMiddleCategory
'* パラメータ :なし
'* 戻り値 :なし
'* 作者 :--
'* 変更 :--
'*-----------------------------------------------------------------------------
Private Sub cmdOpenFrmFoodMiddleCategory_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOpenFrmFoodMiddleCategory.Click

Dim objFrmFoodMiddleCategory As New FrmFoodMiddleCategory()
Dim strSQL As String
On Error GoTo Err_Trap
strSQL = strSQL & "where "
strSQL = strSQL & " FoodBigCategory_ID=" & Me.txtFoodBigCategory_ID.Text & " "
objFrmFoodMiddleCategory.txtSeekFilter().Text = strSQL
Call objFrmFoodMiddleCategory.Show()

Exit_Trap:
Exit Sub
Err_Trap:
Call gsubDspMessByErrNumber(Err.Number, Err.Description)
GoTo Exit_Trap
End Sub
引用返信 編集キー/
■36411 / inTopicNo.2)  Re[1]: 外部フォームの値の取得
□投稿者/ こくぶん (11回)-(2009/05/28(Thu) 16:29:49)
No36406 (EarthIsland さん) に返信
> VB.Netで,
> Dim objFrmFoodMiddleCategory As New FrmFoodMiddleCategory()
> と宣言すれば、
> objFrmFoodMiddleCategory.txtSeekFilter().Text
> のように、外部のフォームのコントロール名とプロパティを表示あるいは設定出来るのですが、
> 
> C#ではそれがうまくきません。C#ではthis、つまり同フォーム内のみでしか
> コントロールのプロパティを表示あるいは設定できないのでしょうか。

C# ではフォームに追加したコントロールのスコープが private なので、別フォームからのアクセスは出来ないです。
( VB は Friend )

コントロールのプロパティをフォーム (FrmFoodMiddleCategory) のプロパティとして公開する等の対応が必要ですね〜。


class FrmFoodMiddleCategory {
    public string TxtSeekFilterText { get { return this.txtSeekFilter().Text; } }
}

引用返信 編集キー/
■36532 / inTopicNo.3)  Re[2]: 外部フォームの値の取得
□投稿者/ EarthIsland (2回)-(2009/05/31(Sun) 04:29:42)
わかりました。
ありがとうございます。
No36411 (こくぶん さん) に返信
> ■No36406 (EarthIsland さん) に返信
>>VB.Netで,
>>Dim objFrmFoodMiddleCategory As New FrmFoodMiddleCategory()
>>と宣言すれば、
>>objFrmFoodMiddleCategory.txtSeekFilter().Text
>>のように、外部のフォームのコントロール名とプロパティを表示あるいは設定出来るのですが、
>>
>>C#ではそれがうまくきません。C#ではthis、つまり同フォーム内のみでしか
>>コントロールのプロパティを表示あるいは設定できないのでしょうか。
>
> C# ではフォームに追加したコントロールのスコープが private なので、別フォームからのアクセスは出来ないです。
> ( VB は Friend )
>
> コントロールのプロパティをフォーム (FrmFoodMiddleCategory) のプロパティとして公開する等の対応が必要ですね〜。
>
>
> class FrmFoodMiddleCategory {
> public string TxtSeekFilterText { get { return this.txtSeekFilter().Text; } }
> }
>
引用返信 編集キー/
■36943 / inTopicNo.4)  Re[3]: 外部フォームの値の取得
□投稿者/ EarthIsland (8回)-(2009/06/10(Wed) 12:40:13)
解決済みです。
No36532 (EarthIsland さん) に返信
> わかりました。
> ありがとうございます。
> ■No36411 (こくぶん さん) に返信
>>■No36406 (EarthIsland さん) に返信
> >>VB.Netで,
> >>Dim objFrmFoodMiddleCategory As New FrmFoodMiddleCategory()
> >>と宣言すれば、
> >>objFrmFoodMiddleCategory.txtSeekFilter().Text
> >>のように、外部のフォームのコントロール名とプロパティを表示あるいは設定出来るのですが、
> >>
> >>C#ではそれがうまくきません。C#ではthis、つまり同フォーム内のみでしか
> >>コントロールのプロパティを表示あるいは設定できないのでしょうか。
>>
>>C# ではフォームに追加したコントロールのスコープが private なので、別フォームからのアクセスは出来ないです。
>>( VB は Friend )
>>
>>コントロールのプロパティをフォーム (FrmFoodMiddleCategory) のプロパティとして公開する等の対応が必要ですね〜。
>>
>>
>>class FrmFoodMiddleCategory {
>> public string TxtSeekFilterText { get { return this.txtSeekFilter().Text; } }
>>}
>>
解決済み
引用返信 編集キー/
■36945 / inTopicNo.5)  Re[2]: 外部フォームの値の取得
□投稿者/ aetos (154回)-(2009/06/10(Wed) 12:53:53)
aetos さんの Web サイト
2009/06/10(Wed) 12:54:19 編集(投稿者)

No36411 (こくぶん さん) に返信
> C# ではフォームに追加したコントロールのスコープが private なので、別フォームからのアクセスは出来ないです。
> ( VB は Friend )
>
> コントロールのプロパティをフォーム (FrmFoodMiddleCategory) のプロパティとして公開する等の対応が必要ですね〜。

コントロール自体をフォーム外に公開することがいいとは思いませんが、できるかできないかで言えば C# でも公開できます。
コントロールの Modifiers プロパティをいじってやればいいです。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -