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

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

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

Re[4]: My.Settingsについて


(過去ログ 29 を表示中)

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

■13924 / inTopicNo.1)  My.Settingsについて
  
□投稿者/ さくや (1回)-(2008/02/06(Wed) 17:04:06)

分類:[VB.NET/VB2005] 

VB.NETを勉強中のさくやと申します。

My.Settingsについてお聞きしたいのですが
Form1を作成し、そのソリューションエクスプローラーで表示されている
「MyProject」を開き「設定」で次のような項目を作りました。

名前:Test 型:String スコープ:ユーザー 値:設定なし

別プロジェクトでForm1を継承したForm2を作成し

Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
My.Settings.Test = "テスト"
My.Settings.Save()
End Sub

と書いてみたのですが、TestはTestApp2.My.MySettingsのメンバではありませんと
エラーが表示されてしまいました。
継承元で作成したアプリケーション設定は継承先では使用できないのでしょうか?
できるのであれば、どのようにすれば値の取得&設定ができるか教えて頂けると助かります。


環境 VS2005 .NET Framework 2.0(言語VB)
PC Windows2000 SP4

引用返信 編集キー/
■13925 / inTopicNo.2)  Re[1]: My.Settingsについて
□投稿者/ やじゅ (112回)-(2008/02/06(Wed) 17:53:43)
No13924 (さくや さん) に返信
>
> 継承元で作成したアプリケーション設定は継承先では使用できないのでしょうか?
> できるのであれば、どのようにすれば値の取得&設定ができるか教えて頂けると助かります。
>

MyBase.My.Settings.Test = "テスト" とかかなー。
引用返信 編集キー/
■13926 / inTopicNo.3)  Re[2]: My.Settingsについて
□投稿者/ さくや (2回)-(2008/02/06(Wed) 18:11:05)
No13925 (やじゅ さん) に返信
> ■No13924 (さくや さん) に返信
>>
>>継承元で作成したアプリケーション設定は継承先では使用できないのでしょうか?
>>できるのであれば、どのようにすれば値の取得&設定ができるか教えて頂けると助かります。
>>
>
> MyBase.My.Settings.Test = "テスト" とかかなー。

やじゅ様、早速のアドバイスありがとうございます。
MyBase.My.Settings.Testでも同じようなエラーでした。
もしやと思ってMyBase.Settings.Testとしてみたのですがダメでした(泣


複数のアプリで同じ内容のもの(次回フォーム起動位置等)をユーザ毎に保存しておきたかったので
雛型を継承させれば、手間が省けるのではと思ったのですが
このようなことは普通しないのでしょうか?
引用返信 編集キー/
■13927 / inTopicNo.4)  Re[1]: My.Settingsについて
□投稿者/ いしだ (83回)-(2008/02/06(Wed) 18:16:44)
SettingsはForm1とは別のクラスなので、Form1を継承しても意味は無いんじゃないかと思います。

引用返信 編集キー/
■13930 / inTopicNo.5)  Re[1]: My.Settingsについて
□投稿者/ とりこびと (40回)-(2008/02/06(Wed) 18:57:06)
とりこびとです。

通常My.SettingsはスコープがFriendのため、別プロジェクト(アセンブリかな?)からのアクセスはできなかったと思います。
今回の場合、Form2からはForm1のプロジェクトのMy.Settingsにはアクセスできないはずですので、
状態としてはForm2のプロジェクト自体のMy.SettingsのTestというメンバを探しに行き、見つからないといっているのだと思います。


No13924 (さくや さん) に返信
> My.Settingsについてお聞きしたいのですが
> Form1を作成し、そのソリューションエクスプローラーで表示されている
> 「MyProject」を開き「設定」で次のような項目を作りました。
>
> 名前:Test 型:String スコープ:ユーザー 値:設定なし
>
> 別プロジェクトでForm1を継承したForm2を作成し
>
> と書いてみたのですが、TestはTestApp2.My.MySettingsのメンバではありませんと
> エラーが表示されてしまいました。

引用返信 編集キー/
■13933 / inTopicNo.6)  Re[2]: My.Settingsについて
□投稿者/ はつね (437回)-(2008/02/06(Wed) 20:43:55)
はつね さんの Web サイト
No13930 (とりこびと さん) に返信
> 通常My.SettingsはスコープがFriendのため、別プロジェクト(アセンブリかな?)からの
> アクセスはできなかったと思います。
> 今回の場合、Form2からはForm1のプロジェクトのMy.Settingsにはアクセスできないはず

Form1のプロジェクトにForm1のMy.Settingsを扱うPublicプロパティやメソッドを実装して、それを使うようにした方が良いですね。

引用返信 編集キー/
■13969 / inTopicNo.7)  Re[3]: My.Settingsについて
□投稿者/ さくや (3回)-(2008/02/07(Thu) 10:48:44)
いしだ様 とりこびと様 はつね様 返信ありがとうございます。

今回作成したMy.Settings.TestはForm1の中に含まれると
思っていましたが、別クラスなので継承しても
参照できないということですね。


No13933 (はつね さん) に返信
> ■No13930 (とりこびと さん) に返信
>>通常My.SettingsはスコープがFriendのため、別プロジェクト(アセンブリかな?)からの
>>アクセスはできなかったと思います。
>>今回の場合、Form2からはForm1のプロジェクトのMy.Settingsにはアクセスできないはず
>
> Form1のプロジェクトにForm1のMy.Settingsを扱うPublicプロパティやメソッドを実装して、それを使うようにした方が良いですね。

はつね様のおっしゃる方法を試してみようと思います。
分かりやすい説明ありがとうございました!
解決済み
引用返信 編集キー/
■13974 / inTopicNo.8)  Re[4]: My.Settingsについて
□投稿者/ いしだ (84回)-(2008/02/07(Thu) 11:54:27)
>>Form1のプロジェクトにForm1のMy.Settingsを扱うPublicプロパティやメソッドを実装して、
こうしたとしても、アプリケーション毎での設定になってしまうと思うのですが、
どうでしょうか?
当方、C#だから違うのかな?
うまく実装すれば可能なのでしょうか?

レジストリに設定するとか、そんな方法しかないかなぁと思いましたが。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -