Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在某些情况下隐藏/显示按钮_C#_.net_Winforms - Fatal编程技术网

C# 在某些情况下隐藏/显示按钮

C# 在某些情况下隐藏/显示按钮,c#,.net,winforms,C#,.net,Winforms,在form1上有带有此代码的按钮。有一个按钮可以转到磁盘分区“C”、“D”、“E”、“F”等等。如果计算机有这样的磁盘分区,按钮可见,否则按钮隐藏。怎么做 private void button10_Click(object sender, EventArgs e) { webBrowser1.Navigate(@"C:\"); } 您可以在页面上使用以下代码\u Load() 在这种情况下,可以使用按钮的可见性属性。 例如: if(co

form1
上有带有此代码的
按钮。有一个
按钮
可以转到磁盘分区“C”、“D”、“E”、“F”等等。如果计算机有这样的磁盘分区,
按钮
可见,否则
按钮
隐藏。怎么做

private void button10_Click(object sender, EventArgs e)
        {
            webBrowser1.Navigate(@"C:\");
        }

您可以在
页面上使用以下代码\u Load()


在这种情况下,可以使用按钮的可见性属性。 例如:

if(condition) {
button.Visible = true;
}
button10\u Click()
这是表单的一个按钮事件,您可以这样写

if(System.IO.DriveInfo.Contains == yourDrive)
{
    button10.visible = true;
}
else 
{
    button10.visible = false;
}

因为默认情况下按钮是隐藏的,所以可以编写
refresh()
方法。在内部,您可以询问是否存在特定的驱动器

string drive = @"C:\";
if (Directory.Exists(drive))
{
   button.Visible = true;
}

在哪里添加代码

应在以下位置添加方法调用或代码:

  • 每次刷新或初始化表单/控件/站点时调用。可能在您的
    表单1.Load
    事件中
  • 当按钮初始化或需要查看时
您可以使用的方法示例如下:

private void CheckForDisks()
{
  if (Directory.Exists(@"C:\"))
  {
    buttonC.Visible = true;
  }
  if (Directory.Exists(@"D:\"))
  {
    buttonD.Visible = true;
  }
  if (Directory.Exists(@"E:\"))
  {
    buttonE.Visible = true;
  }
  // and so on... you can also do this with a loop, look up Adarsh Ravi answer for this
}
您可以在
窗体1中调用此方法。加载
事件,如:

privat void Form1_Load(object sender, EventArgs e)
{
  this.CheckForDisks();
}

您正在研究如何使按钮不可见,还是想知道如何检查按钮是否需要不可见?默认情况下,所有按钮都隐藏。但是,如果有可以打开的磁盘分区,则应显示该按钮;此代码插入到Form1\u load?我是否需要完成一些事情,或者它会立即工作?这只是一个按钮,您需要添加更多的if条件,让代码处理其余的控件。除此之外,这应该很好用。我理解。但是我不明白到底应该在哪里插入这个代码?代码将被插入到Form_Load()中,这样一旦表单加载,它将只显示那些在系统中作为驱动器存在的按钮可以更多吗?我应该在哪里插入代码?我应该添加什么?@Eve这对你有用吗?让我们知道,这样有类似问题的开发人员可以快速找到答案,或者如果它不起作用,我们可以找到另一种方法来解决它。只是想知道用户如何单击一个不可见的按钮开始?
privat void Form1_Load(object sender, EventArgs e)
{
  this.CheckForDisks();
}