C# 在C中单击按钮后更改按钮事件#
我有一个表格可以导航网页和访问数据。它看起来像下面的东西C# 在C中单击按钮后更改按钮事件#,c#,button,text,click,C#,Button,Text,Click,我有一个表格可以导航网页和访问数据。它看起来像下面的东西 private void LoginButton_Click(object sender, EventArgs e) { if(LoginButton.Text == Login) { LoginButton.Text = "Logging in..."; .... ...
private void LoginButton_Click(object sender, EventArgs e)
{
if(LoginButton.Text == Login)
{
LoginButton.Text = "Logging in...";
....
...
Login process goes here...
..
if(Login Successed)
{
LoginButton.Text ="Download";
}
else
{
LoginButton.Text = "Login";
}
}
else if(LoginButton.Text==Download)
{
Download data here...
}
}
同一个按钮(也是同一个事件),执行两个进程,看起来像带标签的不同事件。
1) 如果有任何问题,比如运行效率低下?
2) 有没有其他方法可以像不同的标志方案一样实现这一点?
3) 对于同一个按钮,有什么方法可以通过多个事件来实现相同的想法
谢谢。用文本作为状态通常是个坏主意。理想情况下,您应该有两个按钮,可以触发不同的事件,并在MVP模式中向演示者发出主逻辑。通常使用文本作为状态是个坏主意。理想情况下,您应该有两个按钮来触发不同的事件,并在MVP模式中向演示者调用主逻辑。使用控制容器,如Panel和GroupBox。您可以为处于不同状态的控件设置一大堆面板。使用诸如Panel和GroupBox之类的控件容器。你可以在不同的州拥有一大堆控制面板。就像丹尼尔·a·怀特说的那样 我有两个按钮 可能在某些事件上,如oncreate/onload do check..jst伪代码
if process is login then
do
//then showLoginButton
btnlogin.visible
else
//download
btndonload.visible
在登录按钮内
if(Login Successed)
{
btndonload.visible
}
else
{
LoginButton.Text = "Login";
}
使用两个按钮可能比单按钮更好。而且更干净,就像Daniel A.White说的那样
我有两个按钮
可能在某些事件上,如oncreate/onload do check..jst伪代码
if process is login then
do
//then showLoginButton
btnlogin.visible
else
//download
btndonload.visible
在登录按钮内
if(Login Successed)
{
btndonload.visible
}
else
{
LoginButton.Text = "Login";
}
使用两个按钮可能比使用单个按钮更好。如果出现诸如运行效率低下之类的问题,还可以使用清洁器
按钮点击在人类时间运行。您可以在不给用户带来不便的情况下烧掉5亿条cpu指令
2) 有没有其他方法可以像不同的标志方案一样实现这一点
使用按钮的文本属性是脆弱的,当有人决定更改按钮文本或将应用程序本地化为其他语言时,您的代码将中断。在你们班上,一个简单的私人布尔域要好得多
3) 对于同一个按钮,有什么方法可以通过多个事件来实现相同的想法
不,你当然可以使用两个按钮,一个放在另一个上面,其中一个总是隐藏的。使本地化更加简单,您将免费获得bool字段。1)是否存在诸如运行效率低下之类的问题
按钮点击在人类时间运行。您可以在不给用户带来不便的情况下烧掉5亿条cpu指令
2) 有没有其他方法可以像不同的标志方案一样实现这一点
使用按钮的文本属性是脆弱的,当有人决定更改按钮文本或将应用程序本地化为其他语言时,您的代码将中断。在你们班上,一个简单的私人布尔域要好得多
3) 对于同一个按钮,有什么方法可以通过多个事件来实现相同的想法
不,你当然可以使用两个按钮,一个放在另一个上面,其中一个总是隐藏的。使本地化更加简单,您将免费获得bool字段。为鼠标单击编写自定义事件处理程序 为登录和下载编写单独的方法 将自定义事件处理程序注册到按钮单击事件 我假设有某种逻辑决定按钮文本应该是“下载”或“登录”。此时,当然要设置按钮文本,但也要注册相应的事件处理程序 这将允许您使用一个按钮执行任何操作 软件设计思想
- 更容易扩展。我们不需要每做一件新事情都按另一个按钮
- 关注点分离——例如,所有登录代码都在一个单独的方法中,该方法只处理登录内容
- 变化被隔离并最小化。编写新的、独立的方法比在
结构中排列代码更不容易出错。因此,if-else
结构保持简单易懂if-else
- 更容易扩展。我们不需要每做一件新事情都按另一个按钮
- 关注点分离——例如,所有登录代码都在一个单独的方法中,该方法只处理登录内容
- 变化被隔离并最小化。编写新的、独立的方法比在
结构中排列代码更不容易出错。因此,if-else
结构保持简单易懂if-else