C # Добавление стиля к элементу управления - PullRequest
9 голосов
/ 14 ноября 2008

У меня есть панель, и я добавляю элементы управления внутри этой панели. Но есть определенный контроль, который я хотел бы отпустить. Как бы я поступил так?

pnlOverheadDetails - это имя панели

pnlOverheadDetails.Controls.Add(lnkCalcOverhead);

Элемент управления с именем lnkCalcOverhead - это элемент управления, который я хотел бы использовать.

Заранее спасибо

РЕДАКТИРОВАТЬ: Под поплавком я имел в виду стиль CSS, а не что-нибудь необычное :)

Ответы [ 2 ]

26 голосов
/ 14 ноября 2008

Если для элемента управления определен класс CSS, вы можете сделать это до вызова метода Controls.Add:

lnkCalcOverhead.CssClass = "MyClass";

Если вы хотите использовать атрибут стиля напрямую, попробуйте это:

lnkCalcOverhead.Style.Add("float", "left");
0 голосов
/ 14 ноября 2008

ЕСЛИ вы говорите о System.Windows.Forms здесь (а не о WPF или ASP.NET):

Когда вы говорите о float, вы имеете в виду, что хотите разместить его в любом месте по коду? Если это так, просто установите свойство .Location элемента управления.

Если вы говорите о том, чтобы пользователь вашей программы мог перемещать элемент управления внутри панели, вам придется его кодировать. Что означает захват событий мыши и перемещение элемента управления соответственно?

В качестве альтернативы вы можете вместо того, чтобы оставить элемент управления внутри Panel, сделать его единым элементом управления, занимающим новую форму (следовательно, вам не нужно кодировать всю обработку событий мыши). Просто убедитесь, что окно ограничено перемещением в пределах границ «родительской панели» (просто проверьте событие перемещения формы, если оно находится внутри границ, и заставьте его оставаться внутри).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...