C # какой объект можно использовать как Picturebox в VB6? где его можно положить объекты? - PullRequest
1 голос
/ 16 мая 2011

Заголовок сказал все это.

Я просто бродил, если есть что-то, что я могу использовать

в vb6, окно с изображением можно использовать как пример контейнера

.я могу поместить текстовые кнопки .. в текстовое поле.

спасибо за любые предложения ..

1 Ответ

1 голос
/ 26 февраля 2012

Самой близкой вещью к Picturebox VB6, с точки зрения его использования в качестве контейнера, будет Panel.Панель управления Vb6 была не очень приятной, и я всегда использовал Picturebox, но панель C # дает вам почти все, что делал в VB6, включая фоновое изображение.Основное отличие в вашем случае заключается в том, что панель C # не позволяет рисовать на ней.Другими словами, вы можете поместить в него изображения, но вы не можете рисовать, используя Круг, Линия, PSet и т. Д.

Также взгляните на свою панель инструментов.В зависимости от того, в какой среде вы работаете, ваши элементы управления могут быть сгруппированы в «Общие элементы управления», «Контейнеры», «Компоненты» и т. Д. Посмотрите в разделе «Контейнеры», чтобы увидеть, какие элементы управления можно использовать в качестве контейнеров.

Вы также можете использовать другие элементы управления в качестве контейнеров, например, Picturebox.В случае Picturebox вы можете сделать его родительским для вашего элемента управления во время выполнения.Я думаю, "MyControl.Parent = Picturebox1;"должно сработать.Но во время разработки вы не можете оставить свой элемент управления в окне рисунка, чтобы сделать его родительским.

Наконец, вы можете создать собственный элемент управления или пользовательский элемент управления, который действует как контейнер.В качестве быстрого примера я покажу, как заставить Picturebox действовать как контейнер, на который можно перетаскивать элементы управления во время разработки.

using System.Windows.Forms;
using System.ComponentModel;
using System.ComponentModel.Design;

namespace Whatever
{
  [Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design",
       typeof(IDesigner))] 
  public class MyPicContainer : PictureBox
  {
  }
}

Здесь я создал пользовательский элемент управления, создав класс, который наследуется отсуществующий контроль.Затем я заставляю его вести себя как контейнер времени разработки, устанавливая соответствующий атрибут.Мне также пришлось добавить пару употреблений.

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

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

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