当前位置:编程学习 > C#/ASP.NET >>

C#中能不能,已经定义一个button控件,如何在窗体中隐藏它(本人新手)

在窗体中定义了一个button控件,用来实现当按下enter后触发一个事件,可是如果留在窗体中影响美观,如何能让他在程序运行时候不显示,还能实现上面的功能呢?
如果不能的话,能不能用其他不影响美观的控件来实现上面的功能,大虾们帮帮忙 
小弟不胜感谢!!! --------------------编程问答--------------------
button.Visible=false;
--------------------编程问答-------------------- 功能肯定需要某些事件触发
button也是通过点击事件触发的 --------------------编程问答-------------------- bool bt=false;
if (bt==true)
button1.Hide();

Hide()这个方法可以隐藏控件的 --------------------编程问答-------------------- LZ头像的漫画  好熟悉  想不起来什么名字了 --------------------编程问答-------------------- 调整它的位置到界面外 --------------------编程问答-------------------- 我建议你注册Form的键盘事件,判断当是Enter键时调用Button的键盘事件,或者直接调用代码. --------------------编程问答--------------------
引用 1 楼 foxdave 的回复:
C# code
button.Visible=false;


把它隐藏后,发现按enter就没有那个功能了呢?按下enter无法触发事件,可是不隐藏的时候就可以.. --------------------编程问答-------------------- 如果你吧把事件放在but单击事件里,你把but给隐藏了,你还能点击吗?不点击怎么执行呢? --------------------编程问答--------------------
引用 8 楼 hao448609471 的回复:
如果你吧把事件放在but单击事件里,你把but给隐藏了,你还能点击吗?不点击怎么执行呢?

看来是没得方法了--! --------------------编程问答-------------------- 你想在什么时候调用  就在相应的位置调用方法就可以了啊~   F10调试一下 --------------------编程问答-------------------- 直接让窗体接收 Enter就行了,根本不需要用Button呀!

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Drawing.Drawing2D;

public class Form1 : System.Windows.Forms.Form{
   public Form1() {
      InitializeComponent();
   }
   private void InitializeComponent() {
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
      this.ClientSize = new System.Drawing.Size(292, 273);
      this.Name = "Form1";
      this.Text = "Form1";
      this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Form1_KeyPress);
   }

   static void Main() {
      Application.Run(new Form1());
   }

   private void Form1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) {
      Console.WriteLine("Key Press");
   }
--------------------编程问答-------------------- this.button1.visible=false; --------------------编程问答-------------------- 直接将buttonclick事件的代码移植到FormKeypress里面 --------------------编程问答--------------------
引用楼主 lx4174 的回复:
在窗体中定义了一个button控件,用来实现当按下enter后触发一个事件,可是如果留在窗体中影响美观,如何能让他在程序运行时候不显示,还能实现上面的功能呢?
如果不能的话,能不能用其他不影响美观的控件来实现上面的功能,大虾们帮帮忙 
小弟不胜感谢!!!

不明白楼主意思 如果只是想隐藏它的话可以这样:
1.找一个label控件 把图贴上 就是相当于给图打了个补丁 楼主明白我意思吧
2.给label控件写事件 当鼠标单击的时候mouse_click就可以做到功能
3.截获回车消息 然后再写功能。 --------------------编程问答-------------------- 楼主是想让这个按钮在运行时不被用户看见并且保留按下ENTER键能够触发按钮对应的事件吗
“不显示”就可以被更好的描述“不被看见”代替
让它的前景色和背景色都透明不就OK啦
例如:

            this.Button1.BackColor = System.Drawing.Color.Transparent;
            this.Button1.ForeColor = System.Drawing.Color.Transparent;
--------------------编程问答-------------------- 哦,不好意思
Button的BackColor属性设置为Transparent是不起作用的
可以用Lable控件代替 --------------------编程问答-------------------- button.Visible=false;
就OK! --------------------编程问答-------------------- 设置为透明后不可视就行了 --------------------编程问答-------------------- 明白你的意思,那个按钮看上去很不爽的,那就用"KeyDown"事件,如果是按下“Enter”键后起作用,那就
这样写:
    

       //注:是在你选择的控件的KeyDown事件中写;
         private void 控件名_KeyDown(object sender, KeyEventArgs e)
        {
            if(e.KeyCode==Keys.Enter)

                 {

                    //这里面写你要写的内容;

            }


        } --------------------编程问答-------------------- 这么多,来晚了,路过,顶下............... --------------------编程问答-------------------- 我觉得你还是用linklabel吧,让它的text为空格,就基本看不见啦,还可以点,呵呵 --------------------编程问答--------------------
引用 19 楼 appleyk 的回复:
明白你的意思,那个按钮看上去很不爽的,那就用"KeyDown"事件,如果是按下“Enter”键后起作用,那就
这样写:
  

  //注:是在你选择的控件的KeyDown事件中写;
  private void 控件名_KeyDown(object sender, KeyEventArgs e)
  {
  if(e.KeyCode==Keys.Ente……

这个方法貌似不管用呀 --------------------编程问答-------------------- visible= false 啊。。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,