DOBON.NETプログラミング道掲示板

■35297 / 親記事)  ラジオボタンの一括設定
  
□投稿者/ ま〜 一般人(34回)-(2022/12/23(Fri) 18:39:54)
  • アイコン環境/言語:[windows10 VS2022] 
    分類:[.NET] 

    こんにちわ、テキストファイルにラジオボタンの内容を保存して復元しようとしています

    Dim text0() As TextBox = {TextBox1, TextBox2, TextBox3}
    と同じ様に

    Dim Radio0() As RadioButton = {RadioButton1, RadioButton2, RadioButton3}
    で考えたのですが構文エラーで赤い波線が入ってます。

    何か良い方法はないでしょうか?

マルチポストを報告
違反を報告
引用返信 削除キー/
■35298 / ResNo.1)  Re[1]: ラジオボタンの一括設定
□投稿者/ 魔界の仮面弁士 大御所(1505回)-(2022/12/23(Fri) 20:19:44)
  • アイコンNo35297に返信(ま〜さんの記事)
    > Dim Radio0() As RadioButton = {RadioButton1, RadioButton2, RadioButton3}
    > で考えたのですが構文エラーで赤い波線が入ってます。

    そのコードは、Load イベントか OnLoad メソッド内に書いていますか?
    赤い破線はどこに記載されていて、構文エラーの内容は何と書かれていますか?



違反を報告
引用返信 削除キー/
■35299 / ResNo.2)  Re[2]: ラジオボタンの一括設定
□投稿者/ ま〜 一般人(35回)-(2022/12/23(Fri) 20:43:47)
  • アイコンいつもありがとうございます

    > そのコードは、Load イベントか OnLoad メソッド内に書いていますか?
    > 赤い破線はどこに記載されていて、構文エラーの内容は何と書かれていますか?

    両方とも LOADです
    TEXTの方は問題ないです

    エラーの内容は
    https://learn.microsoft.com/en-us/dotnet/visual-basic/misc/bc30311?f1url=%3FappId%3Droslyn%26k%3Dk(BC30311)
    です。
    宜しくお願いします



    >
    >
    >
違反を報告
引用返信 削除キー/
■35300 / ResNo.3)  Re[3]: ラジオボタンの一括設定
□投稿者/ 魔界の仮面弁士 大御所(1506回)-(2022/12/23(Fri) 22:45:15)
  • アイコンNo35299に返信(ま〜さんの記事)
    > エラーの内容は
    > https://learn.microsoft.com/en-us/dotnet/visual-basic/misc/bc30311?f1url=%3FappId%3Droslyn%26k%3Dk(BC30311)
    > です。

    いや、その <Type1> と <Type2> が何であったのかが重要なのですけれど?
違反を報告
引用返信 削除キー/
■35303 / ResNo.4)  Re[4]: ラジオボタンの一括設定
□投稿者/ ま〜 一般人(36回)-(2022/12/26(Mon) 01:23:24)
  • アイコンお世話になります。

    > いや、その <Type1> と <Type2> が何であったのかが重要なのですけれど?

    貼り付けました。

    宜しくお願いします
619×28 => 250×11
イメージ
1671985404.jpg
/13KB
違反を報告
引用返信 削除キー/
■35305 / ResNo.5)  Re[5]: ラジオボタンの一括設定
□投稿者/ KOZ 一般人(16回)-(2022/12/26(Mon) 09:51:46)
  • アイコン
    No35303に返信(ま〜さんの記事)
    > 貼り付けました。
    
    エラーを選択して右クリックすると内容をコピーできます。
    
    重大度レベル	コード	説明	プロジェクト	ファイル	行	抑制状態
    エラー	BC30311	型 'RadioButton' の値を 'VisualStyleElement.Button.RadioButton' に変換できません。	WindowsApp1	D:\TEST\WindowsApp1\WindowsApp1\Form1.vb	5	アクティブ
    
    こんな感じ。
    
    Imports System.Windows.Forms.VisualStyles.VisualStyleElement.Button
    
    が書いてあるとこのエラーになりますが、使っているんでしょうか?

違反を報告
引用返信 削除キー/
■35306 / ResNo.6)  Re[5]: ラジオボタンの一括設定
□投稿者/ 魔界の仮面弁士 大御所(1508回)-(2022/12/26(Mon) 09:53:31)
  • アイコンNo35303に返信(ま〜さんの記事)
    >>いや、その <Type1> と <Type2> が何であったのかが重要なのですけれど?
    > 貼り付けました。

    画像でも良いですが、エラー一覧の内容は
    右クリック操作もしくは Ctrl+C を使って
    テキストとしてコピーできますよ。


    エラー BC30311 型 'RadioButton' の値を 'VisualStyleElement.Button.RadioButton' に変換できません。

    …というエラーメッセージは、代入式の右辺が `RadioButton` 型であるの対して、
    代入先の左辺の RadioButton 型が `VisualStyleElement.Button.RadioButton` 型という、
    「型名はどちらも RadioButton 型だが、所属する名前空間の異なる別物」への操作だと思われています。



    今回の場合、プロジェクト作成時のテンプレートとして、おそらく
     ★Windows フォーム アプリケーション (.NET Framework)
     ★Windows フォーム アプリ
    のいずれかを選択されている状況なのでしょう。

    そして現在は、Form1.vb ファイルの冒頭に、普段は記述されていないはずの
     Imports System.Windows.Forms.VisualStyles.VisualStyleElement.Button
    というコードが追加されている状況であると想像できます。もしそうなら、
     Dim Radio0() As RadioButton = {RadioButton1, RadioButton2, RadioButton3}
    という代入式左辺の As RadioButton とは
     As System.Windows.Forms.VisualStyles.VisualStyleElement.Button.RadioButton
    の意味になっています。一方、代入式右辺にある RadioButotn1〜3 は
     As System.Windows.Forms.RadioButton
    に相当するデータ型を意味するため、型の不一致でコンパイルエラーとなります。


    解決策としては、こんな感じ。

    (案1) 冒頭の「Imports System.Windows.Forms.VisualStyles.VisualStyleElement.Button」宣言を取り除く
    (案2) 変数宣言時に、クラス名だけでなく名前空間も明示するようにする
     Dim Radio1() As RadioButton = {…}
    →Dim Radio1() As Global.System.Windows.Forms.RadioButton = {…}


    > TEXTの方は問題ないです
    もしも「Imports System.Windows.Forms.VisualStyles.VisualStyleElement」という宣言が
    追加されていたら、As TextBox も同様の競合問題が発生していたことでしょう。


    なお、今回は状況的に Windows Forms での事象だったのでしょうけれども
    その他プロジェクトでも同種の問題は起こりえます。

    "RadioButton" ひとつとっても、これだけの種類があるので…。

    ・System.Windows.Forms.RadioButton クラス (System.Windows.Forms.dll)
    ・System.Windows.Forms.VisualStyles.VisualStyleElement.Button.RadioButton クラス (System.Windows.Forms.dll)
    ・System.Windows.Controls.RadioButton クラス (PresentationFramework.dll)
    ・System.Web.UI.WebControls.RadioButton クラス (System.Web.dll)
    ・System.Windows.Automation.ControlType.RadioButton フィールド (UIAutomationTypes.dll)
    ・System.Windows.Automation.Peers.AutomationControlType.RadioButton 列挙値 (PresentationFramework.dll)
    ・Microsoft.Windows.Themes.ClassicBorderStyle.RadioButton 列挙値 (PresentationFramework.Classic.dll)
違反を報告
引用返信 削除キー/
■35307 / ResNo.7)  Re[6]: ラジオボタンの一括設定
□投稿者/ ま〜 一般人(37回)-(2022/12/26(Mon) 16:11:48)
  • アイコンいつも適切なアドバイスお二人に感謝です
    ありがとうございます

    まさにこれでした。

    今までネット上のサンプルをコピペで試してる時、ソースが大きくなるだけだと思って深く考えずにインポートしたままにしてましたが今回の件で勉強になりました。

    再度ありがとうございます

    クローズしておきます


解決み!
違反を報告
引用返信 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/


- Child Tree -