【问题标题】:c# winforms: change label text with right click by calling previously specified methodsc# winforms:通过调用先前指定的方法右键单击更改标签文本
【发布时间】:2018-03-31 09:22:44
【问题描述】:

我对编程很陌生,我正在玩 Windows 窗体。

我有一个带有一个标签和两个按钮的表单,单击 spremeniButton 会更改标签中的文本,然后单击 povrniButton 会将其更改回来。我现在要做的是设置一个 MouseUp 事件,这样每当在标签上执行右键单击时,就会发生与单击按钮相同的一组事件。

我已经为两个按钮设置了 button_click 方法,但是现在我在从 label1_MouseUp 方法中调用这些方法时遇到了问题。我不知道是否应该使用if语句或其他东西,但我不想编写单独的代码来实现相同的解决方案,我只想使用已经编写的方法。

如果有人能指出我正确的方向,我将不胜感激。谢谢。

private void spremeniButton_Click(object sender, EventArgs e){
    label1.Text = "Nov napis";
    spremeniButton.Enabled = false;
    povrniButton.Enabled = true;
}
private void povrniButton_Click(object sender, EventArgs e){
    label1.Text = "Originalni napis";
    povrniButton.Enabled = false;
    spremeniButton.Enabled = true;
}
private void label1_MouseUp(object sender, MouseEventArgs e){
    if ((e as MouseEventArgs).Button == MouseButtons.Right)
}

【问题讨论】:

    标签: c# winforms methods mouseevent right-click


    【解决方案1】:
    private void label1_MouseUp(object sender, MouseEventArgs e)
    {
    
            if ((e as MouseEventArgs).Button == MouseButtons.Right){
                if(povrniButton.Enabled){
                    povrniButton_Click(sender, null);
                } else {
                    spremeniButton_Click(sender, null);    
                }
            }
    }
    

    您实际上可以在事件中调用按钮函数。鉴于您在单击后禁用该按钮,所以我用它来检查当用户执行右键单击时要调用哪个事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-15
      • 2021-11-16
      • 2011-11-21
      • 2012-02-14
      • 1970-01-01
      • 2023-02-25
      • 1970-01-01
      相关资源
      最近更新 更多