Кнопки WinForms в относительных позициях при изменении размера формы - PullRequest
1 голос
/ 26 мая 2010

Я искал два дня, пытаясь найти решение этой проблемы. Моя проблема, в которой я должен решить это:

У меня есть приложение WinForms, написанное на C #. Он спроектирован почти так, как я хочу, чтобы он был с двумя столбцами (SplitContainer - настройка, например, Windows Explorer, боковая панель и др.). Панель без боковой панели будет настроена с изображением нашей компьютерной лаборатории. Однако то, как я реализую, еще не полностью определено.

  1. Кнопки для каждого компьютера Я бы в основном расположил кнопки на каждой компьютерной станции на фоновом изображении. Эти кнопки должны оставаться в относительном месте к фоновому изображению. Я в некоторой степени достиг этого, используя кнопки с левой и правой стороны. Однако это изменяет ширину кнопок с максимизируемой формой.

  2. Flash Image Я рассмотрел некоторые из SharpFlash в sourceforge как идею для использования в моем приложении. По сути, флэш-объект был бы COM-объектом в форме, и я бы связывался назад и вперед с помощью нажатий кнопок / и т. Д. Для флэш-объекта обратно в C #. Тем не менее, я не знаю Flash, чтобы даже спроектировать его, и при этом я не испытываю особой необходимости изучать SharpFlash API, когда это единственный проект, в котором я использую его.

  3. PNG Meta Первоначально у меня была идея встроить метаданные в исходное изображение в виде именованных областей, однако поиск в Google делает эту идею практически невозможной, как я могу ' не найти никого, кто делал это раньше. Я нашел несколько примеров того, как взаимодействовать с C # и получать метаданные, но не совсем точно, как их встраивать. Друг упомянул, что мне нужно использовать Adobe Bridge ( Я думаю ).

  4. Подсветка областей изображения Я хотел бы иметь возможность выделить компьютер, чтобы указать пользователю, что данный компьютер выбран в данный момент, чтобы им не приходилось угадывать, какой из них выбран. (несмотря на то, что через ярлык C # указано, какой из них выбран; конечные пользователи - это люди-визуалы)

Я также открыт для некоторых возможностей, если у кого-то есть лучшее решение.

1 Ответ

2 голосов
/ 26 мая 2010

Что касается привязки, если вы закрепите только верхнюю часть, кнопки останутся относительными, то есть, если вы сгруппируете их в центре формы, при изменении размера они останутся в центре без изменения размера кнопок. Я думаю, что самый простой способ выделить изображение - это иметь 2 изображения. Одно изображение, которое является «обычным» неиспользуемым ПК, и другое изображение, которое является изображением «в использовании» для кнопки. Затем вы можете изменить изображение на лету, используя свойство ImageIndex. Конечно, для этого вам понадобится ImageList.

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