Tag: 按钮

在WPF中创建自定义关闭按钮

我是WPF / C#的新手,我正在考虑实现一个自定义窗口装饰器。 我需要创建一个关闭按钮,它基本上与关闭或x按钮完全相同,它出现在每个窗口的Windows应用程序的chrome上。

单击后禁用按钮,同时保持CausesValidation和OnClick方法

所以我有这个按钮: meta:resourcekey用于本地化资源,这里不关心我们 – 因为我们可以看到它有一个OnClick-Method并导致validation。 这也很好,但我想在用户点击它之后禁用该按钮,这样他/她在PostBack成功之前就不能多次点击它,所以这就是我在Page_Load所做的: btnSubmit.Attributes.Add(“onclick”, “this.disabled=true;” + Page.ClientScript.GetPostBackEventReference(btnSubmit, “”).ToString()); onclick我正在禁用该按钮并重新添加OnClick-Method所需的PostBackReference。 问题:CausesValidation消失了,悲伤。 我究竟如何在CodeBehind中重新添加它或者 – 这是一个完全不同的解决方案? 我的按钮必须: a)单击后禁用自身,但在回发后启用b)具有OnClick CodeBehind方法c)导致validation 谢谢, 丹尼斯

更改WinForms按钮突出显示颜色

我找到了这个页面 ,其中概述了如何更改MenuStrip及其项目的渲染。 我想使用它,但问题是当您将鼠标hover在按钮上时突出显示的颜色与它不匹配。 有没有办法将高光颜色从蓝色变为黄色? 我已经尝试过使用MouseHover和MouseLeave事件,但由于某种原因它们真的很慢,并且它们将按钮更改为纯色,看起来很糟糕,但在按钮边缘留下一个边框,不会改变。 在设计师: this.ButtonName.MouseHover += new System.EventHandler(button_mousehover); 然后在代码中: private void button_mousehover(object sender, EventArgs e) { Button btn = sender as Button; btn.BackColor = Color.Yellow; } 有没有像我上面发布的链接那样容易将高亮颜色从蓝色更改为其他内容? 这是更改菜单条渲染的代码: private void myForm Load(object sender, EventArgs e) { myMenuStrip.Renderer = new MenuRenderer(); { private class MenuRenderer : ToolStripProfessionalRenderer { public MenuRenderer() : base(new MyColors()) { […]

更改WinForm按钮文本颜色?

我想知道是否可以改变WinForm Button文本的颜色。 我正在看字体属性,找不到任何东西,但我觉得这些东西很简单,并且(在我看来)实用,因为这应该是可能的……

我是否可以扩展Button以添加RightClick事件,以便保持图形副作用?

我正在尝试扩展Button以添加RightClick事件。 我的客户想要一个按钮来执行不同的操作,具体取决于您是左键单击还是右键单击。 我希望有一个简单的右键点击事件,但结果却没有。 我更喜欢Button的视觉行为与之前存在的Click事件相同,但事实certificate这很难。 单击并拖动按钮时,按钮会出现许多图形行为。 单击时,按钮会降低。 如果你拖下降低的按钮,它会升起(例如,降低)。 您拖动的任何其他按钮都会忽略它。 当您向后拖动原始按钮时,它将再次降低。 如果您拖动然后松开,原始按钮的状态应该重置(即您无法重新点击并再次拖动)。 如果左键单击视觉效果与右键单击视觉效果不匹配,这些小图形怪癖将显得粗糙。 目前我坚持这样:如果右键单击并按住按钮,然后拖动按钮,如何检测用户是否取消点击? 我需要知道这一点,所以我知道不要在重新进入时重新按下按钮。 一个更广泛的问题:我是否走上正轨? 我以前找不到任何人这样做过的人。 我的代码如下。 public class RightClickButton : Button { public event RoutedEventHandler RightClick; public RightClickButton() { this.MouseRightButtonDown += new System.Windows.Input.MouseButtonEventHandler(RightClickButton_MouseRightButtonDown); this.MouseRightButtonUp += new System.Windows.Input.MouseButtonEventHandler(RightClickButton_MouseRightButtonUp); this.MouseEnter += new System.Windows.Input.MouseEventHandler(RightClickButton_MouseEnter); this.MouseLeave += new System.Windows.Input.MouseEventHandler(RightClickButton_MouseLeave); } void RightClickButton_MouseRightButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { this.IsPressed = true; […]

恢复C#Windows窗体背景色

我在Windows窗体表单上有一个按钮,当我点击它时,我将背景颜色更改为Color.Yellow 。 再次单击时,我想将其恢复为原始默认外观。 默认的背景色是SystemColor.Control 。 单击按钮时,我第一次更改的是 btn.Text = “ABC”; btn.BackColor = Color.Yellow; 当它再次被点击时,我做到了 btn.BackColor = SystemColors.Control 新背景与任何点击之前的阴影没有相同的阴影。 该按钮最初的背景不是纯色,而是两种略有不同的灰色阴影。 最终的颜色最终是一个坚实的灰色阴影。 我正在Windows 7机器上测试它。 截图:

禁用页面上的多个按钮控件

有没有办法一次禁用页面上的所有按钮。? if (Directory.Exists(folder)) { all buttons enabled } else { All buttons disabled Label4.Text = “Agent Share folder does not exists”; } 任何建议谢谢

在c#asp.net中动态分配按钮事件

你能告诉我以下代码有什么问题吗? Panel div = new Panel(); Button btn1 = new Button { Text = “Delete”, CommandArgument = “argument”, ID = “remove” }; Button btn2 = new Button { Text = “Insert”, CommandArgument = “argument2”, ID = “insert” }; btn1.Click += new EventHandler(btn_click); btn2.Click += new EventHandler(btn_click); div.Controls.Add(btn1); div.Controls.Add(btn2); ph_plan.Controls.Add(div); // where ph_plan is a placeholder […]

Asp.net按钮对象 – runat服务器问题

我在服务器端代码上创建一个按钮时遇到了一些问题。 我正在使用stringbuilder在html中构建一个表,我想创建一个新的按钮对象并将其传递给我的stringbuilder对象。 我遇到的问题是我的页面在调试时无法编译。 我想给我的按钮对象一个runat =“server”属性,但我不知道如何。 Button add_img_popup = new Button(); add_img_popup.Text = “Add new Image”; // text add_img_popup.Click += new EventHandler(addImgPopup_Click); // click event handler add_img_popup.Enabled = true; add_img_popup.ID = “btn_add_img_popup”; // programmatic id Page.Controls.Add(add_img_popup); // add to page controls so it renders st.Append(“”); st.Append(“”); st.Append(add_img_popup); // pass to string builder st.Append(“”); st.Append(“”); 以及服务器给我的消息。 ‘/’应用程序中的服务器错误。 […]

程序化按钮单击会抛出’System.StackOverflowException’exception

我在C#.Net中编写了一个WinForms程序,在密码表单中以编程方式单击按钮。 Form1加载并将Form2显示为对话框。 如果DialogResult是DialogResult.OK的其他任何东西,应用程序将关闭。 到目前为止,我有一个按钮单击事件,编码如下: if (txtpass.Text == “”) { MessageBox.Show(“You need to enter a password”, “Password”, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); txtpass.Focus(); } else { if (txtpass.Text == “1234”) { radButton1.DialogResult = DialogResult.OK; radButton1.PerformClick(); } else { MessageBox.Show(“Password Incorrect”, “Password”, MessageBoxButtons.OK, MessageBoxIcon.Error); txtpass.Text = “”; txtpass.Focus(); } } 我用radButton1.PerformClick(); ,但运行该程序给我以下消息: An unhandled exception of type ‘System.StackOverflowException’ occurred in […]