3

コードで toolstripbutton を押し下げたいのですが、それができないようです。Delphi RAD Studio または XE では、次の操作を実行してボタンを押すことができます。

ToolStripButton1.Down := true;

「ダウン」に近い唯一の ToolStripButton プロパティは、true または falseでチェックされます。trueに設定すると、ツールストリップボタンのみが強調表示され、押し下げられません。

マウスをボタンの上に置いてクリックしたときのボタンの外観は次のとおりです。

ここに画像の説明を入力

[ズームイン] ボタンが押されていることがはっきりとわかります。

CheckOnClick を true および Checked を true に設定して、コードで同じことを実行しようとすると、ボタンがどのように見えるかを次に示します。

ここに画像の説明を入力

この画像で見えるのは、周囲の青いボックスだけです。ボタンのテキストだけを使用した場合、ボタン全体が青色で塗りつぶされて、ボタンが押されたことを示していることがわかります。

ここに画像の説明を入力

他のプログラムにも同じように機能するツールストリップボタンがありますが、イメージリストコントロールを使用して、押された、押された、またはチェックされた詩を切り替える必要がありました。

では、Delphi Prism または C# でプログラムによって ToolStripButton を押す方法はありますか?

4

2 に答える 2

2

ToolStripButton.CheckOnClickプロパティを に設定しますTrue。(のBehaviorセクションにありItems Collection Editorます。)

Downこれにより、Delphi でプロパティを切り替えるTSpeedButton(フラットまたはくぼみにする) のと同じように、クリックすることができます。これif ToolStripButton1.Checkedは、Delphi の場合と同じですif SpeedButton1.Down

テストをセットアップするために、次のことを行いました。

  • 新しい Winforms アプリケーションを作成しました
  • ToolStripを新しいものに落としたMainForm
  • 4項目を追加ToolStripButtonし、画像を付けて見やすくしました。
  • CheckOnClickプロパティをTrueそれぞれに設定します
  • Checkedのプロパティをに設定しtoolStripButton1ますTrue
  • に以下のコードを追加しましたtoolStripButton1.Click

    method MainForm.toolStripButton1_Click(sender: System.Object; e: System.EventArgs); toolStripButton2.Checked を開始します:= toolStripButton2.Checked ではありません。toolStripButton4.Checked := toolStripButton2.Checked; 終わり;

アプリの実行 (最初の起動、toolStripButton1オン、その他はオフ):

ワンボタンダウン

最初のボタンは明らかに下にあり、残りは上にある。

一度クリックした後toolStripButton1

2つボタンダウン

最初のボタンは上 (チェックなし) で、2 番目と 4 番目のボタンは下 (チェックあり) です。(今後の投稿で連続した画像を作成する場合は、サイズの一貫性にもっと注意を払う必要があります。)

于 2012-12-05T14:53:28.110 に答える
0

このコードを「Leave」イベントの前のコントロールに配置した場合。

    Private Sub PurposeComboBox_Leave(sender As Object, e As EventArgs) Handles PurposeComboBox.Leave

    Me.AppliancesForSelectedFunctionToolStripButton.PerformClick()

    End Sub

Form Load にコードを配置できるかどうかはわかりません。お役に立てれば。

于 2019-05-24T01:12:11.617 に答える