日期:2014-05-17  浏览次数:21435 次

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

单击按钮后效果如下: 

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

单击按钮后效果如下:

这个应该咋样实现呢?

------解决方案--------------------
你这个需求真有点。。。反正没觉得这样做了就好看了。。。
根据你的要求。
if(datatable==null)
{
   this.Height = 100;//如果当前数据为空,则设置当前窗体的高度为100.100是随便设置的,根据你窗体的高度自己设置一个合理的值。
}
------解决方案--------------------
你说的datagridview没有看见。

不就是改一个窗体的高度么?
------解决方案--------------------
在 DataGridView 的事件 VisibleChanged 中,根据 Visual 不同,
控制一下窗口大小和按钮位置就好了。
------解决方案--------------------
不就是动态创建TextBox和改变窗体Height吗?
如果你的datagridiew是固定的高,可以把要隐藏的部分(button)和非隐藏的部分(datagridview)用panl放起来,分别设置它的dock属性,为Top,和Fill,当你把Dock属性为Fill的panl隐藏起来的时候会自动隐藏大小,前提是autosize为true