日期:2014-05-18  浏览次数:20972 次

超难度:这种界面在winform中能做吗?最后的分全给你们了

这种界面在winform中能做吗?给个思路.最后的分全给你们了

------解决方案--------------------
这种界面谁设计的?蛋疼,N的重复,看着就晕,对使用者来说简直就是悲剧
------解决方案--------------------
这个真的没什么难度。用DataGridView可以做,自己在界面的加动态添加控件也行。
前者有些限制。 后者你可以凭你自己的想像,想怎么做就怎么做,不过要花费一些时间 。WPF没有接触过就不清楚了。

2010年做的一个界面。



部分代码,这是这样,一个动态的界面就出来了。

开始的时候有想过用Grid来做,但是后来想了想,还需要做验证啊,并且数据项也是动态变化的,就用下面的方式了创建界面了。

C# code

            //创建新对象
            parents.Controls.Clear();
            for (int i = max; i >= 0; i--)
            {
                var item = di.DIBases[i];

                if (item is DI)
                {
                    editControl = DataItemEditBase.CreateDataItemEdit(item as DI);
                }
                else if (item is DICol)
                {
                    editControl = new DataUnitEdit();                    
                }
                else if (item is BlockHost_DI)
                {
                    editControl = new BlockHostEdit();
                }
                else
                {
                    editControl = null;
                }

                if (editControl == null) continue;
                editControl.Text = item.Name;
                editControl.SetDataItem(item);
                height += editControl.Height;
                editControl.Dock = DockStyle.Top;
                editControl.Resize += new EventHandler(editControl_Resize);
                editControl.OnDataItemEditValueChanged += new DataItemEditValueChangedEvent(editControl_OnDataItemEditValueChanged);
                parents.Controls.Add(editControl);
            }
            return height;

------解决方案--------------------
有什么好讨论的,添加和删除行的问题27和75说得够清楚明白了
至于那个弹窗,随便弄个Panel什么的,自己移动下位置就行。或者包装成ToolStripDropDown(上下文菜单的基类),用起来更方便点
------解决方案--------------------
效果做出来后,调整风格为window经典,就完全可以一模一样。不难
------解决方案--------------------
探讨
厉害的贴码出来或发到我邮箱!!邮箱:xlzx-2004@126.com。感激不尽啊!!

------解决方案--------------------
当然能做了
------解决方案--------------------
在不使用第三方控件的前提下.
个人觉得winform做这个不比web复杂得多.
------解决方案--------------------
做肯定是能做的。感觉还是可以的
------解决方案--------------------
可以滴,其实 winform很强大。
------解决方案--------------------

学习了。。。
------解决方案--------------------
没有什么不可以
------解决方案--------------------
探讨
除了繁琐,没看出技术难度

------解决方案--------------------
盖茨也来收源码了,快把他围起来,别让他跑喽
------解决方案--------------------
当然可以做,利用WINFORM中的TreeView控件就可以。

流程弄清楚。
------解决方案--------------------
这种在WinForm 用表格控件更方便,也更简单与美观.
------解决方案--------------------

树,

控件实现 !