form 的 Visible 属性 和 form.hide() , form.show() 有什么区别?

lwl0606 2008-08-05 01:17:31
VB.NET 2005
form 的 Visible 属性 和 form.hide() , form.show() 有什么区别?
...全文
1068 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mzhao 2008-08-05
  • 打赏
  • 举报
回复
System.Windows.Forms.Form(Control)的Show()函数代码(由Reflector反编译):

Public Sub Show()
Me.Visible = True
End Sub

Hide()函数:

Public Sub Hide()
Me.Visible = False
End Sub

实际上这两个函数是定义在Control类型里面的,Form仅仅在Visible属性里定义了操作。
LYDF4151 2008-08-05
  • 打赏
  • 举报
回复
楼上正解。
破咖啡罐子 2008-08-05
  • 打赏
  • 举报
回复
show:
显示控件等效于将 Visible 属性设置为 true。在调用 Show 方法之后,只要不调用 Hide 方法,Visible 属性就返回 true 值。

hide:
隐藏控件等效于将 Visible 属性设置为 false。在调用 Hide 方法之后,只要不调用 Show 方法,Visible 属性就返回 false 值。

MSDN上说的,怎么好像我骗你一样……

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/CPref17/html/M_System_Windows_Forms_Control_Hide.htm
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/CPref17/html/M_System_Windows_Forms_Control_Show.htm
wdgphc 2008-08-05
  • 打赏
  • 举报
回复
我认为Hide()后隐藏了,你这时操作别的窗体,一旦Show()后应该立刻在最前面吧.
而Visible=false 后, 你操作别的窗体,当Visible=true 后也不一定能在最前面.
wdgphc 2008-08-05
  • 打赏
  • 举报
回复
MSDN上说

Hide方法: 隐藏控件等效于将 Visible 属性设置为 false。在调用 Hide 方法之后,只要不调用 Show 方法,Visible 属性就返回 false 值。
whoami333 2008-08-05
  • 打赏
  • 举报
回复
应该是form1.visible=false的话,show也看不到。
ejoe313 2008-08-05
  • 打赏
  • 举报
回复
顾名思意
包含有数据库文件 using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication10 { public partial class Form1 : Form { int id = 0; public Form1() { InitializeComponent(); radioButton1.Checked = true; } private void button1_Click(object sender, EventArgs e) { if(radioButton1.Checked==true) if (IsUserIdentify() == true) { id = 1; Form2 form1 = new Form2(id); form1.Show(); this.Visible = false; } else { MessageBox.Show("用户名或密码错误"); } if (radioButton2.Checked == true) { Form2 form = new Form2(); form.Show(); this.Hide(); } } private void button2_Click(object sender, EventArgs e) { this.Close(); } private void textBox1_TextChanged(object sender, EventArgs e) { } private void domainUpDown1_SelectedItemChanged(object sender, EventArgs e) { } private void domainUpDown2_SelectedItemChanged(object sender, EventArgs e) { } private void domainUpDown1_SelectedItemChanged_1(object sender, EventArgs e) { } private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { } private void domainUpDown1_SelectedItemChanged_2(object sender, EventArgs e) { } private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { } private void Form1_Load(object sender, EventArgs e) { } private void radioButton1_CheckedChanged(object sender, EventArgs e) { } private void radioButton2_CheckedChanged(object sender, EventArgs e) { textBox1.Text = "顺港"; textBox2.Text = "123123"; } private void textBox2_TextChanged(object sender, EventArgs e) { } private bool IsUserIdentify() { SqlConnection Conn = new SqlConnection("Data Source=.;Initial Catalog=book;Integrated Security=True"); Conn.Open(); string sql = "SELECT Name,PassWord FROM Admin WHERE Name='" + this.textBox1.Text + "'and PassWord='" + this.textBox2.Text + "'"; SqlCommand Cmd = new SqlCommand(sql, Conn); SqlDataReader reader = Cmd.ExecuteReader(); if (reader.Read()) { return true; } else { return false; } } } }

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧