我想在我的代码中按下工具条按钮,我似乎无法做到这一点。我知道在Delphi RAD Studio或XE上,您可以执行以下操作并按下按钮。
ToolStripButton1.Down := true;
我看到的唯一一个接近“向下”的ToolStripButton属性是已检查 true或false。如果我将其设置为true,它只会突出显示工具条按钮而不是按下它。
以下是我将鼠标放在其上并单击时按钮的外观:
您可以清楚地看到“放大”按钮已关闭。
通过设置CheckOnClick true和Checked true,我尝试通过代码执行同样的操作时,按钮的外观如下。
在此图片中,您唯一能看到的是它周围的蓝框。我想如果我只使用按钮上的文字,你会发现整个按钮都是蓝色,表示按下了它。
我的其他程序中也有工具条按钮,其行为方式相同,但我必须使用图像列表控件在按下或按下或检查的文本之间切换,而不是按下或按下或检查。
那么,有没有办法在Delphi Prism或C#中以编程方式按下ToolStripButton?
答案 0 :(得分:2)
将ToolStripButton.CheckOnClick
属性设置为True
。 (它位于Behavior
的{{1}}部分。)
这使得点击它就像在Delphi Items Collection Editor
中切换Down
属性一样(使其平坦或沮丧),TSpeedButton
相当于Delphi中的if ToolStripButton1.Checked
要设置测试,我执行了以下操作:
if SpeedButton1.Down
放到新的ToolStrip
MainForm
项目并为其提供了图片,以便于查看。ToolStripButton
属性为CheckOnClick
True
的{{1}}属性设置为Checked
; 将以下代码添加到toolStripButton1
方法MainForm.toolStripButton1_Click(sender:System.Object; e:System.EventArgs); 开始 toolStripButton2.Checked:= not toolStripButton2.Checked; toolStripButton4.Checked:= toolStripButton2.Checked; 端;
运行应用程序(初始启动,True
已选中且其他未选中):
第一个按钮显然已经关闭,其余按钮都已启动。
点击toolStripButton1.Click
一次后:
第一个按钮现在已启用(未选中),第二个按钮已关闭(已选中)。 (如果我在以后的帖子中连续拍摄图像,我应该更加注意尺寸的一致性。)
答案 1 :(得分:0)
如果已将此代码放置在“ Leave”事件中的上一个控件中。
Private Sub PurposeComboBox_Leave(sender As Object, e As EventArgs) Handles PurposeComboBox.Leave
Me.AppliancesForSelectedFunctionToolStripButton.PerformClick()
End Sub
我不知道您是否可以将代码放入Form Load中。 希望这会有所帮助。