顶部,底部,左侧,右侧的C#标准类(枚举?)
是否有一个标准的C#类,它定义了一个名义上的左,右,上和下?顶部,底部,左侧,右侧的C#标准类(枚举?)
我应该用我自己的?
enum controlAlignment
{
left = 1,
top,
right,
bottom,
none = 0
}
也许System.Windows.Forms.AnchorStyles或System.Windows.Forms.DockStyles可以做的工作。
除非你可以锚样式(其中有更多)。我会为此而推出自己的产品。在标准winforms库中有单独的VerticalAlignment
和HorizontalAlignment
可能是有用的。
在枚举中有一个none选项是我通常添加的东西,所以锚样式看起来就像它很好地完成了这项工作! – 2009-02-10 09:06:07
快速搜索发现,下面的框架枚举已经有这些成员(有一些其他额外的成员):
- AnchorStyles - System.Windows.Forms的
- Border3DSide - System.Windows.Forms的
- DockStyle - System.Windows.Forms的
- 边缘 - System.Windows.Forms.VisualStyles
- TabAlignment - System.Windows.Forms的
- ToolStripStatusLabelBorderSides - System.Windows.Forms的
- VerticalAlignment - System.Windows.Forms.VisualStyles
在Visual Studio中使用“对象浏览器”可以完成此搜索。 – 2009-12-14 18:54:56
AnchorStyles是唯一能够精确匹配的人,其他所有人都会错过'None'或添加'All';没有考虑VisualStyles .. ToolStripStatusLabelBorderSides是最好的,如果你也想'全部'。 (当然是名字最长的那个,然后我会自己推出..) – TaW 2014-10-06 16:22:12
同时,双方AnchorStyles
和DockStyles
除了有您所需要的四个附加价值; AnchorStyles
另外有FlagAttribute
打开,这不一定是有意义的(左上角是什么意思?左右怎么办?)
因为我不能想到任何可以一般利用标准的内置函数锚和DockStyles数据类型以任何有意义的方式,编写自己的枚举似乎是一个更为理想的替代方案,仅仅为了enum而与Windows.Forms
链接。
当然,除非你已经在Windows.Forms中,并且@ Cerebrus的建议中的一个在你的上下文中确实有意义。
一个很好的枚举也可能是:
System.Drawing中。 的ContentAlignment(在System.Drawing.dll程序)
这些是其成员:
public enum ContentAlignment
{
TopLeft = 1,
TopCenter = 2,
TopRight = 4,
MiddleLeft = 16,
MiddleCenter = 32,
MiddleRight = 64,
BottomLeft = 256,
BottomCenter = 512,
BottomRight = 1024,
}
万岁,这不是形式! – 2014-01-06 02:41:23
由于在没有标准枚举。NET精确匹配您的要求,我建议创建您自己的(因为我已经做了):
[Flags]
private enum Borders
{
None = 0,
Left = 1,
Top = 2,
Right = 4,
Bottom = 8,
All = Left | Top | Right | Bottom,
}
然后,您可以通过调用HasFlag
方法查询各个边沿。我同意@dbkk,重复使用类似值的枚举,但不同的含义可能会让任何人阅读代码时感到困惑。
如果您正在寻找WPF命名空间项目,您可以尝试System.Windows.Controls.Dock枚举。它没有Flags属性,并且不支持'None'选项。 [http://msdn.microsoft.com/en-us/library/system.windows.controls.dock.aspx](http://msdn.microsoft.com/en-us/library/system.windows.controls。 dock.aspx) – 2009-12-14 18:52:56