0

リンクボタンにメニューストリップがあります。ラジオボタンとチェックボックスである子アイテムを含むアイテムを追加しました。ユーザーがフォームのラジオ ボタンを選択し、メニューストリップでチェックボックス項目を選択した場合、すべてのプロパティ (前の色、背景の色のフォント サイズ、フォント スタイルなど) を含むチェックボックス コントロールに変換する必要があります。

フォームの実行時にラジオ ボタン コントロールをチェックボックス コントロールに変換する方法を教えてください。

4

3 に答える 3

3

RadioButtonコントロールは、継承階層にないため、チェックボックスコントロールに変換できません。

ただし、それを行う必要がある場合は、その時点で共通のプロパティをコピーするチェックボックスコントロールを作成し、利用してから、それらの表示を切り替える必要があります。

    private CheckBox GetCheckboxFromRadioButton(RadioButton radioButton)
    {
        CheckBox result = new CheckBox();
        //copy text
        result.Text = radioButton.Text;
        //copy colors
        result.BackColor = radioButton.BackColor;
        result.ForeColor = radioButton.ForeColor;
        //copy checked state
        result.Checked = radioButton.Checked;
        //copy parent container
        result.Parent = radioButton.Parent;
        //copy size and location
        result.Bounds = radioButton.Bounds;
        //copy layout behavior
        result.Dock = radioButton.Dock;
        result.Anchor = radioButton.Anchor;
        //enabled property
        result.enabled = radioButton.Enabled;
        // copy other properies you need here
        //...
        return result;
    }
于 2012-07-25T10:53:22.030 に答える
0

独自の関数を作成できます

CheckBox ConvertControl(RadioButton rb)

必要なすべてのプロパティの初期化でチェックボックスの作成を実装します。コントロールは異なるため、自動的に変換できない特定のプロパティがいくつかあります。明示的に初期化する方法を指定する必要があります。

于 2012-07-25T10:57:04.207 に答える