Как настроить панель управления winform в C#

Я хочу настроить панель управления моей winform с другим фоном для нее и различными изображениями кнопок. Как я могу это сделать? Есть ли способ сделать пользовательский блок управления с usercontrol или что-то в этом роде, а затем добавить его в winform?

3 ответа

Вы не имеете никакого влияния на это, используя средства.NET Framework. Вы должны будете реализовать пользовательский рисунок для не клиентской области формы. Здесь вам может помочь следующее: http://www.codeplex.com/wikipage?ProjectName=CustomerBorderForm&title=Painting%20NonClient%20Area

Вы можете создавать свои собственные элементы управления, наследуя от UserControl вот так

class MyControl : System.Windows.Forms.Button //this could also have been System.Windows.Forms.UserControl or any other existing control type as a template
{
    protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
    {
        //Paint whatever you wish on this buttons graphics using e.Graphics
    }
}

Существует много возможностей для программирования пользовательских элементов управления. Чтобы много ответить здесь. Хорошая ссылка: http://msdn.microsoft.com/en-us/library/6hws6h2t.aspx

Вы можете создать свой собственный вид контроля форм и скрыть родительский элемент управления. Или, может быть, вы можете унаследовать от System.Windows.Form и создать пользовательскую форму. Но я никогда не пробовал это сам.

И для использования OnPaint вы должны помнить о некоторых правилах, если вы заботитесь о производительности и / или мерцании и тому подобное: Как правильно использовать OnPaint в приложениях.Net?

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

  • Создайте пользовательский элемент управления.
  • Измените тип вашего контроля.

Изменить:

public partial class MyCustomControl : Control { ... }

За:

public partial class MyCustomControl : Form { ... }
  • Измените значение свойства Controlbox на false.
  • Измените любые свойства, которые вы хотите настроить.
  • Создать новую форму.
  • Измените тип вашей формы.

Изменить:

   public partial class MyForm : Form { ... }

За:

public partial class MyForm : MyCustomControl { ... }

Теперь ваша MyForm похожа на MyCustomControl, и вы можете использовать ее во всех проектах.

Другие вопросы по тегам