禁用命令按钮,直到选择了comboBox值

时间:2019-03-01 05:13:17

标签: c#

我有一个comboBox( cmbPortName )和一个命令按钮( btnConnect )。

您将使用comboBox中的下拉列表选择要连接的端口,然后单击 btnConnect 。 我只想禁用命令按钮,直到在ComboBox中做出有效选择。我想通过做类似的事情来解决此问题的最佳方法

  

btnConnect.Enabled = True;

,直到在组合框中进行选择。

有更好的方法吗?我对编程很陌生,仍然在学习东西。

3 个答案:

答案 0 :(得分:1)

您需要为组合框添加SelectedIndexChanged事件处理程序。在窗体的Visual Studio设计视图中,双击组合框,或在“属性”窗口中双击事件名称右侧的空白:

create event handler

这将生成并带您进入表单.cs文件中的以下代码块:

private void cmbPortName_SelectedIndexChanged(object sender, EventArgs e)
{

}

然后添加您想要有条件地启用按钮的任何代码:

private void cmbPortName_SelectedIndexChanged(object sender, EventArgs e)
{
    // This will enable the button so long as the selected value
    // is not null or an empty string.
    if (cmbPortName.SelectedItem != null && !string.IsNullOrEmpty(cmbPortName.SelectedItem.ToString()))
        btnConnect.Enabled = true;
    else
        btnConnect.Enabled = false;
}

答案 1 :(得分:0)

有一个组合框所选项目更改的事件,您可以在其中写入btnConnect.Enabled = True。

答案 2 :(得分:0)

首先禁用该按钮。

// content-loader
const { getOptions } = require('loader-utils')

function loader (source) {
  const options = getOptions(this)
  const response = options.function(source)
  return response
}
module.exports = loader

// webpack.config.js rule in module.rules
{
  test: /messages\.json$/,
  loaders: [
    {
      loader: 'content-loader',
      options: {
        function: (data) => {
          const object = JSON.parse(data)
          for(let key in object){
            object[key] = myFunction(key, object[key])
          }
          return JSON.stringify(object)
        }
      }
    }
]}