2017-11-28 34 views
-4

Visual Studio 2010のC#デスクトップアプリケーションのセットアッププロジェクト(msiインストーラパッケージ作成者)で作業しています。セットアッププロジェクトのラジオボタンに基づいて製品アクティベーション条件を追加したいとします。ラジオボタンを含むセットアッププロジェクトにユーザーインターフェイスを追加しましたが、このインターフェイスから選択された値を取得する場所、またはこの選択が格納されている場所はわかりません。 Image Radio Buttons User InterfaceVisual Studioセットアッププロジェクトでの設定

+7

お願いします。[google](https://www.google.de/search?source=hp&ei=5VAdWpWGHNDGwAKS7Z6gBw&q=get+selected+value+from+radio+button+c%23&oq=c%23+get +セレクション+値+フォーム+ ra&gs_l = psy-ab.3.1.0i22i30k1j0i8i13i30k1.893.10516.0.14636.34.30.2.2.2.0.163.1879.29j1.30.0 .... 0 ... 1c.1.64.psy-ab.0.34 .1890 ... 0j​​0i131k1j0i13k1j0i13i30k1j0i13i10i30k1j0i19k1j0i13i30i19k1j0i22i30i19k1j0i22i10i30i19k1j33i22i29i30k1.0.bN2Gh015nMY)これは少なくとも1回である。あなたは100%のようなあなたの答えを見つけるでしょう。 ;-) –

+0

それを試してみましたか、いくつかの情報を提供してもらえますか? – Shahrukh

+0

しかし、害はありませんが、これは冗談ですか?私のコメントの* google *の単語は青です。これはこれがリンクであることを暗示していませんか? –

答えて

1

Visual StudioセットアップのMSIでダイアログをクリックするとコードを実行できません。その他のツール(InstallShield、WiX、Advanced Installerなど)は、Windowsインストーラのすべての機能をサポートしますが、Visual Studioの設定はサポートしていません。これらのツールを使用すると、たとえばボタンをクリックしてカスタムアクションを実行して、入力を検証することができます。

だから、あなたの質問には、これらとほぼ同じである:

c# setup project get radio buttons value

How to code for Custom Dialog in Setup Project?

ので、基本的にはカスタムアクションに値を渡すことができます。しかし、何らかの理由でラジオボタンの選択に基づいてインストールのコースを変更したいのであれば、すべてのVSカスタムアクションはすべてがインストールされた後に最後に実行されるため、できることはあまりありません。アプリを最初に実行するまでこれをすべて延期し、アプリでこれを処理させる方が良いかもしれません。私は、ユーザーが製品を再インストールすることなく、DemoからStudent to Professionalにアップグレードしたいと考えています。

0

だから、基本的にradioButton.CheckedによってRadioButtonCheckedプロパティをアセスすることができます。 RadioButtonがチェックされているか(true)、チェックされていない(false)かを示す変数boolを返します。ご例えば

私はこのフォームを作成しました:

enter image description here

それはいくつかRadioButtonsを持って、あなたは下部にButtonをクリックしたら、左下隅にLabelを右に選択されたRadioButton表示されます今。あなたはいくつかの時間を節約するためにそこにbreakを設定することができ

private void buttonConfirmLicenseType_Click(object sender, EventArgs e) 
{ 
    //iterating through all the RadioButtons placed on the `this`(MainForm) 
    foreach (var radioButton in this.Controls.OfType<RadioButton>()) 
    { 
     //once the checked property of one RadioButton is true we jump into the if execution 
     if (radioButton.Checked) 
     { 
      //we set the text of the Label to the Text of the selected RadioBUtton 
      labelConfirmedLicenseType.Text = radioButton.Text; 

      //jump out of the foreach loop 
      break; 
     } 
    } 
} 

Buttonsのクリックイベントです

RadioButtonChecked == trueであることがわかったら、この要件を満たすRadioButtonの1つしかないのでループを終了することができますので、foreachループを続ける必要はありません。

+1

誰かがdownvoteの必要性を感じたら、あなたの意見。 –

+0

仲間ありがとう。私は本当にあなたの努力に感謝し、それは助けている.. – Shahrukh

+0

誰かがダウン投票しています..私はちょうどあなたの誠実な努力のために投票しました。 – Shahrukh

関連する問題