none
C# winform有没有什么办法能实现图中的效果 RRS feed

  • 问题

  • 下图是一个收银软件的设计图的一部分,表示的是交易列表

    对应数据库中的一个表,但是实际中有20个字段需要有滚动条

    设计图中只是随便放5个字段,如果要实现图中的效果我想过用datagridview,listview,listbox

    但是他们都有列表头竖线,而且做出来跟设计图有很大差别,但是不用datagridview这些控件的话

    滚动条有不好处理,现在我的想法是:全部用label, 列表头跟 数据行,数据行放7行,当点击右边的

    上翻页 和下翻页的时候只是从数据库取出分页,然后逐个逐个label赋值

    不知道大家有什么好的办法不?


    给我写信: QQ我:点击这里给我发消息

    2013年1月30日 3:52

答案

  • 注意一下:是C# winform

    使用label麻烦不用说,还有一个问题是,要设置相应的label的visible为true 或false 当有些数据行

    没有数据的时候


    给我写信: QQ我:点击这里给我发消息

    2013年1月30日 3:58
  • 最简单的方法是在WPF里面完成这件事情,然后在WinForm中使用WPF的ElementHost控件摆放出来。

    2013年1月30日 13:44
  • 下图是一个收银软件的设计图的一部分,表示的是交易列表

    对应数据库中的一个表,但是实际中有20个字段需要有滚动条

    设计图中只是随便放5个字段,如果要实现图中的效果我想过用datagridview,listview,listbox

    但是他们都有列表头竖线,而且做出来跟设计图有很大差别,但是不用datagridview这些控件的话

    滚动条有不好处理,现在我的想法是:全部用label, 列表头跟 数据行,数据行放7行,当点击右边的

    上翻页 和下翻页的时候只是从数据库取出分页,然后逐个逐个label赋值

    不知道大家有什么好的办法不?


    给我写信: QQ我:点击这里给我发消息

    看你的设计图,上面没有VScroller,如果字段增多,应该可能有 HScroller,但是如果 HScroller 也和你图中的 VScroller一样只有两个上下的三角形的话那就好办了。

    涉及到 scroller,你不自绘,都没有办法。

    表格还好说,用ListViewCtrl来自绘,但是要禁用滚动条,你需要自己来计算滚动条并绘制,并且要处理鼠标事件,好的一点就是,你的控件需要滚动的窗口大小是比较容易计算出来的。

    2013年1月31日 1:41

全部回复

  • 注意一下:是C# winform

    使用label麻烦不用说,还有一个问题是,要设置相应的label的visible为true 或false 当有些数据行

    没有数据的时候


    给我写信: QQ我:点击这里给我发消息

    2013年1月30日 3:58
  • 最简单的方法是在WPF里面完成这件事情,然后在WinForm中使用WPF的ElementHost控件摆放出来。

    2013年1月30日 13:44
  • 下图是一个收银软件的设计图的一部分,表示的是交易列表

    对应数据库中的一个表,但是实际中有20个字段需要有滚动条

    设计图中只是随便放5个字段,如果要实现图中的效果我想过用datagridview,listview,listbox

    但是他们都有列表头竖线,而且做出来跟设计图有很大差别,但是不用datagridview这些控件的话

    滚动条有不好处理,现在我的想法是:全部用label, 列表头跟 数据行,数据行放7行,当点击右边的

    上翻页 和下翻页的时候只是从数据库取出分页,然后逐个逐个label赋值

    不知道大家有什么好的办法不?


    给我写信: QQ我:点击这里给我发消息

    看你的设计图,上面没有VScroller,如果字段增多,应该可能有 HScroller,但是如果 HScroller 也和你图中的 VScroller一样只有两个上下的三角形的话那就好办了。

    涉及到 scroller,你不自绘,都没有办法。

    表格还好说,用ListViewCtrl来自绘,但是要禁用滚动条,你需要自己来计算滚动条并绘制,并且要处理鼠标事件,好的一点就是,你的控件需要滚动的窗口大小是比较容易计算出来的。

    2013年1月31日 1:41