C#WinForm如何在点击按钮获取数据后,将数据在按钮所在窗体上显示出来

w_angfei 2013-10-10 09:03:09
窗体显示时,datagridview的visible属性为false,点击窗体上的按钮后,会得到datatable类型的数据,若数据不为空,则datagridview控件的visible属性为true,并将数据显示出来上;若为空,则datagridview控件的visible任为false。现在的问题是,窗体显示时放datagridview控件那部分是空白的,整个窗体看起来很不好看,有没有什么办法使窗体变的好看点呢?
举个简单的例子
现在初始化状态下:textbox的visible属性默认是false

单击按钮后效果如下:

这个样子的话,初始化后的窗体看起来比较丑,所以
想要的效果:
初始化状态下

单击按钮后效果如下:

这个应该咋样实现呢?
...全文
1351 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
w_angfei 2013-10-11
  • 打赏
  • 举报
回复
引用 7 楼 xtdhb 的回复:
不就是动态创建TextBox和改变窗体Height吗? 如果你的datagridiew是固定的高,可以把要隐藏的部分(button)和非隐藏的部分(datagridview)用panl放起来,分别设置它的dock属性,为Top,和Fill,当你把Dock属性为Fill的panl隐藏起来的时候会自动隐藏大小,前提是autosize为true
终于按照你的方法搞定了,谢谢!~
老张一笑 2013-10-10
  • 打赏
  • 举报
回复
不就是动态创建TextBox和改变窗体Height吗? 如果你的datagridiew是固定的高,可以把要隐藏的部分(button)和非隐藏的部分(datagridview)用panl放起来,分别设置它的dock属性,为Top,和Fill,当你把Dock属性为Fill的panl隐藏起来的时候会自动隐藏大小,前提是autosize为true
tcmakebest 2013-10-10
  • 打赏
  • 举报
回复
在 DataGridView 的事件 VisibleChanged 中,根据 Visual 不同, 控制一下窗口大小和按钮位置就好了。
w_angfei 2013-10-10
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
你说的datagridview没有看见。 不就是改一个窗体的高度么?
不知道我这个想法对不对。。。感觉这样能比以前好点。。
全栈极简 2013-10-10
  • 打赏
  • 举报
回复
你完全可以把你的datagridview就放在那,只是没有数据而已。不太必要要隐藏显示这么搞。
w_angfei 2013-10-10
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
你这个需求真有点。。。反正没觉得这样做了就好看了。。。 根据你的要求。 if(datatable==null) { this.Height = 100;//如果当前数据为空,则设置当前窗体的高度为100.100是随便设置的,根据你窗体的高度自己设置一个合理的值。 }
我只是这么想的。。。不管咋说,需求的样子可以比以前的样子好点吧。。
threenewbee 2013-10-10
  • 打赏
  • 举报
回复
你说的datagridview没有看见。 不就是改一个窗体的高度么?
全栈极简 2013-10-10
  • 打赏
  • 举报
回复
你这个需求真有点。。。反正没觉得这样做了就好看了。。。 根据你的要求。 if(datatable==null) { this.Height = 100;//如果当前数据为空,则设置当前窗体的高度为100.100是随便设置的,根据你窗体的高度自己设置一个合理的值。 }

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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