2014-06-06 4 views
1

В некоторых средах, таких как среда макросов Office или Visual Studio, есть дизайнеры, которые могут показывать предварительный просмотр, который вы можете перетаскивать на него. Они отображаются с использованием той же темы, что и остальная часть ОС. Я не пытаюсь создать MDI, а скорее нарисую оконную форму в той же форме.Рисование формы Windows внутри окна

Пример:

VBA drawing form

В C#, как бы я идти о реализации аналогичной функциональности?

ответ

3

Может быть, вы должны взглянуть на этой статье: http://msdn.microsoft.com/en-us/magazine/cc163871.aspx

В статье обсуждается:

  1. время разработки основа среда
  2. Форма дизайнер архитектура
  3. Реализация конструктора форм в Visual Studio .NET
  4. Услуги, которые необходимо реализовать, чтобы написать конструктор форм для вашего собственного ap пликация
+1

Большая статья +1 – Baldrick

+0

Спасибо. Теперь посмотрим. –

1

Вы можете использовать этот хороший метод, чтобы сделать сам по себе Form2 дро на целевой битовой карты:

form2.DrawToBitmap(tagetBmp, new Rectangle(0, 0, form2.Size.Width, form2.Size.Height)); 

Чтобы сделать его работу вы можете создать форму, чтобы показать и назвать этот метод на него. Он будет включать в себя все ее элементы управления и т.д., но если вы хотите его опорожнить вам нужно будет просто пустой форму правильных пропорций ..

Вот тест, который рисует окно на себя:

private void button1_Click(object sender, EventArgs e) 
{ 
    Size oldSize = this.Size; 
    Size newSize = new Size(this.Width/4, this.Height/4); 
    Bitmap targetBmp = new Bitmap(newSize.Width, newSize.Height); 
    this.Size = newSize; 
    button1.Hide(); 
    this.DrawToBitmap(targetBmp, new Rectangle(Point.Empty, newSize)); 
    this.Size = oldSize; 
    using (Graphics G = this.CreateGraphics()) 
    { 
     G.DrawImage(targetBmp, 0, 0); 
    } 
    button1.Show(); 
} 
Смежные вопросы