回答
TextAlign
屬性應該做你所需要的。
label.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
如果你想使Location
物業反映控制的右下角,而不是左上角,那麼這是不可能的。你可以,但是,創建你自己的財產:
public Point BottomLeft
{
get { return new Point(Left, Bottom); }
set { Location = new Point(value.X, value.Y - Height); }
}
請記住,雖然,這不會保持真實,如果Height
屬性改變(你必須重新進行設置)。
我不認爲這會改變控制位置的來源。 – 2010-04-13 17:55:44
如果你想改變Label.Location
財產的行爲,因此,它是指在標籤的左下角,你可以在你的自定義標籤覆蓋InitLayout()
:
class myLabel : Label
{
protected override void InitLayout()
{
base.InitLayout();
Location = new Point(Location.X, Location.Y - Height);
}
}
這將轉向控制基於控制器的高度。因此,如果您以(100,100)開頭,標籤高度爲13,則以(100,87)結束,左下角爲(100,100)。
但是,只有當標籤被添加到容器時纔會發生這種情況。如果您在將標籤添加到容器後更改標籤的位置,它將返回到右上角。
您可能嘗試的另一件事是覆蓋標籤所在容器的LayoutEngine { get; }
,以便您完全控制解釋放置在容器中的任何自定義標籤的Location屬性的方式。
不確定這會有幫助,你正在改變位置。我需要控件的位置指向左下角。因此,如果我將控件添加到位置(100,100)的窗體中,我需要位置100,100作爲控件的左下角。 – 2010-04-13 19:35:51
你說得對,我應該減去時加了。固定。 – 2010-04-13 19:48:55
我明白你的意思了。您不希望**位置**的實際值發生變化。我的建議將改變** Location.Y **。如果這是一個破壞行爲的話,你可能必須實現你自己的LayoutEngine,或者弄亂標籤的** OnPaint()**。 – 2010-04-13 19:57:11
- 1. Windows窗體 - 自定義用戶控件
- 2. C#窗體中的自定義控件Windows窗體鼠標事件問題
- 3. 定義一個Windows窗體自定義控件的事件
- 4. 自定義控件標籤
- 5. ASP.net Web窗體自定義控件自動更改下一個控件的ID
- 6. SpringMVC自定義窗體標籤
- 7. Windows窗體 - 自定義MaskedTextBox
- 8. 自定義Windows窗體(表)
- 9. 標籤窗體控件用`input`標籤
- 10. 自定義控件屬性 - C#,窗體
- 11. 自定義函數來更改實體
- 12. Windows窗體中的自定義選項卡控件
- 13. 在Windows窗體中使用WPF自定義控件?
- 14. 如何在Windows窗體中使用自定義控件?
- 15. 如何在Windows窗體中旋轉自定義控件
- 16. 自定義系統菜單欄控件(windows窗體)
- 17. 使用自定義控件複製/粘貼到Windows窗體中
- 18. Windows窗體自定義控件沒有正確繪畫
- 19. Rails用戶網站自定義選項窗體來更改CSS?
- 20. 自定義窗口控件圖標
- 21. 標籤不會更改爲自定義字體
- 22. C#窗體窗體自定義控件跨線程操作
- 23. Windows窗體控件
- 24. 如何將Windows窗體控件應用於WPF自定義控件庫?
- 25. asp.net自定義控件渲染窗體標記之外
- 26. Windows窗體HelpButton更改光標
- 27. Windows窗體控件 - 字體不會更改爲Wingding
- 28. 如何更改ggplot小標籤(自定義小包裝標籤)
- 29. 在acumatica中自定義css文件以更改窗體顏色
- 30. Windows窗體 - 自定義NumericUpDown爲空
你是說你想讓Location屬性指定標籤左下角的位置而不是左上角? – 2010-04-13 17:40:56
是的,這是我需要的。 – 2010-04-13 17:54:33
也許你可以解釋*爲什麼*你想這樣做。我們能夠爲您的問題提出更好的解決方案。 – 2010-04-13 20:06:16