题
我是一个没有经验的程序员,完全新编程。
我写一个小小的程序,我一直想要的。其正在编写使用C#使用。净框架。至少那是什么我觉得我做。所有人都在谈论的框架。网,窗户的形式,并win32api都得到了我真的很困惑..:(
反正我已经简单形式的对象。
Form f = new Form() ;
f.Text = "" ;
f.ControlBox =false ;
现在,如何拆除所有边界上的形式,除了一个面?作中,侧的边界应该去,而是顶部的边界应该留下
FormBorderStyle没有任何东西这个
还有你怎么人们解决这样的问题你自己,不问?看看其他人的代码?读一本书吗?任何特定的网站?我已经google搜索,但是它没有把什么都没有。
解决方案
Gidday,
不幸的是,这是不可能的 - 你可以删除整个边框,然后在表单上绘制自己的边框并使用OnMouseDown,OnMouseUp和OnMouseMove来自行拖动......
为了自己解决这个问题,我会看一下口头表达问题的各种不同方式(例如“无边框形式”,“winform上的自定义边框”等)并花一点时间谷歌搜索它。正如我的老板明智地说的那样,生产力并不总是关于你削减了多少代码,而是关于你可以学到什么。
编辑:正如流行的表达方式所说,“谷歌知道所有” - 很有可能,如果你花了一些时间谷歌搜索,你仍然找不到任何东西,那么它可能还没有解决,或者它是非常罕见的。另一种方法是投资一些好书,例如Windows窗体编程(甚至只是Windows编程 - 了解Windows的底层机制非常有用,这样的事情有助于将您变成一个优秀的开发人员。一个优秀的程序员擅长编码,但是很棒的开发人员擅长构建有用的软件。:)其他提示
我假设您已经尝试过FormBorderStyle.FixedSingle?这将显示仅在顶部具有边框的表单。 无论如何,如果不是这种情况,您可以设置表单区域。
像...一样的东西。
public static void HideBorders(Form form) { Rectangle newRegion = form.Bounds; Rectangle formArea = form.Bounds; Rectangle clientArea = form.RectangleToScreen(form.ClientRectangle); formArea.Offset(form.Location); newRegion.Offset(clientArea.X - formArea.X, 0); newRegion.Width = clientArea.Width; newRegion.Height = (clientArea.Y - formArea.Y) + clientArea.Height; form.Region = new Region(newRegion); }
至于你怎么知道怎么办?你提到的所有事情,帮助文件,网络论坛,书籍。主要是练习,练习,练习。你做得越多,你应该做得越好。
我不认为这实际上是能够做什么,你描述,因为.净框架只是委托绘制的表格的边境和标题栏的窗户,没有任何选择,为什么你描述了据我所知.
相反,我会做什么用 FormBorderStyle.None
然后出任何窗口的装饰品(标题栏、边境)你想要手动。
谷歌搜索"无国界形式C#"变成了这些网站作为前三:
- 无国界的窗口 (java2s.com)
- 透明无边界的形式在C# (c-sharpcorner.com)
- 拖动形式:拖到一个无边界的形式通过点击在任何地方的形式 (codeproject.com)