是否有可能在C#WinForms中创建切换按钮?我知道你可以使用CheckBox控件并将其Appearance属性设置为“Button”,但它看起来不正确。我希望它在按下时显得凹陷,不平坦。有什么想法吗?C#WinForms中的ToggleButton
回答
我最终重写了OnPaint和OnBackgroundPaint事件,并手动绘制完全按照我需要的按钮。它工作得很好。
您可以随时使用自定义图形和PictureBox编写自己的按钮,但它不一定与用户的Windows主题相匹配。
检查FlatStyle属性。将其设置为“System”会使复选框陷入我的环境中。
但是,当未选中该框时,这会使其变平。 – 2008-11-11 21:12:09
当在我的机器上检查时,它会被取消选中并沉没(Vista做成Win 2000 - Windows Classic主题)。 – 2008-11-11 21:15:18
你是对的!我不小心把它放在了Popup的风格上。我的错。 – 2008-11-11 21:17:53
如果您不介意将ToolStripButton控件托管在ToolStripContainer中,您也可以考虑ToolStripButton控件。我认为它可以本地支持按下和未按下的状态。
你可以只使用一个CheckBox
其外观设置为Button
:
CheckBox checkBox = new System.Windows.Forms.CheckBox();
checkBox.Appearance = System.Windows.Forms.Appearance.Button;
好看又简单 – fnc12 2015-03-23 13:02:29
thers是一个简单的方法来创建切换按钮。我在vs2010中测试它。这是完美的。
ToolStripButton具有“Checked”属性和“CheckOnClik”属性。你可以用它来充当切换按钮
tbtnCross.CheckOnClick = true;
OR
tbtnCross.CheckOnClick = false;
tbtnCross.Click += new EventHandler(tbtnCross_Click);
.....
void tbtnCross_Click(object sender, EventArgs e)
{
ToolStripButton target = sender as ToolStripButton;
target.Checked = !target.Checked;
}
此外,您还可以创建切换按钮,列表如下:
3210更改复选框外观按钮将给你调整的困难。您无法更改尺寸,因为尺寸取决于文字或图片的尺寸。
你可以试试这个:(首先初始化计数变量设置为1 |诠释计数= 1)
private void settingsBtn_Click(object sender, EventArgs e)
{
count++;
if (count % 2 == 0)
{
settingsPanel.Show();
}
else
{
settingsPanel.Hide();
}
}
这很简单,但它的工作原理。
警告:使用多于它而不关闭应用的进程的能力时,这将与被偶尔使用(即设置)按钮工作良好,计数的值在INT /长可能过载。 (检查数据类型范围:http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx)
好消息:如果你运行的是不用于全天候全一年四季的应用程序,我认为这是有帮助的。重要的是,当应用程序的过程结束,你再次运行它,计数将重置为1.
这个怎么样?
假设您引用了System.Windows.Forms。
var cbtnToggler = new CheckBox();
cbtnToggler.Appearance = Appearance.Button;
cbtnToggler.TextAlign = ContentAlignment.MiddleCenter;
cbtnToggler.MinimumSize = new Size(75, 25); //To prevent shrinkage!
希望这有助于;)
的使用,如果命令检查状态,让作为一个切换按钮操作
private void Protection_ON_OFF_Button_Click(object sender, EventArgs e)
{
if (FolderAddButton.Enabled == true)
{
FolderAddButton.Enabled = false;
}
else
{
FolderAddButton.Enabled = true;
}
}
这是我简单的代码,我希望它可以帮助你
private void button2_Click(object sender, EventArgs e)
{
if (button2.Text == "ON")
{
panel_light.BackColor = Color.Yellow; //symbolizes light turned on
button2.Text = "OFF";
}
else if (button2.Text == "OFF")
{
panel_light.BackColor = Color.Black; //symbolizes light turned off
button2.Text = "ON";
}
}
嗯Jon Tackabury你可以使用MetroUI Framework使用togg le按钮。它提供了许多其他控件,它们看起来像Windows 8一样不同的UI。
您可以尝试至少一次。
如何使用刚刚看到这一点,https://www.youtube.com/watch?v=Ryxew9cgkZA
我希望这是有帮助的。
- 1. WinForms中的C#中的OpenGL
- 2. Winforms中的数据库c#
- 3. datagridviews在C#中的WinForms
- 4. Winforms中的固定表C#
- 5. AirPlane ToggleButton?
- 6. ToggleButton binding
- 7. C#winforms上的folderbrowserdialog
- 8. 在C++/CLI(WinForms)应用程序中使用C#WinForms控件
- 9. 在C#Winforms中使用SaveFileDialog
- 10. 在C#中传递Winforms值
- 11. C#/ Winforms,DataGridView/Combobox
- 12. C#WinForms TreeView&ImageList
- 13. c#winforms GDI +
- 14. c#Winforms MVC
- 15. System.UnauthorizedAccessException C#winforms
- 16. 在C#winforms中的类中调用
- 17. LIstView内部的ToggleButton
- 18. 在onResume中处理ToggleButton()
- 19. C#的WinForms检测的TreeView
- 20. 绑定到ToggleButton
- 21. UiBinder使用ToggleButton
- 22. ToggleButton Binding ViewModel
- 23. Groovy SwingBuilder ToggleButton StateChange
- 24. Android ToggleButton指标
- 25. ToggleButton Checked Event Handling
- 26. ListView和ToggleButton
- 27. JavaFX ToggleButton Shadow
- 28. Wpf Listbox和Togglebutton
- 29. ToggleButton向右推
- 30. UWP - 如何将ToggleButton中的Xaml路径绑定到ToggleButton的前景色
你能分享代码吗? – Volatil3 2013-01-28 21:29:07