Как сделать прозрачный прозрачный?

Я делаю приложение в C # .NET. У меня есть 8 ящиков с картинками. Я использовал PNG-изображения с прозрачным фоном, но в моей форме он не прозрачен, когда он появляется над другим изображением.

Я использую Visual Studio 2012. Это скриншот моей формы:

Скриншот формы

Один из способов сделать это – изменить родительский элемент перекрывающегося windows изображения на PictureBox, над которым он притирается. Поскольку дизайнер Visual Studio не позволяет добавлять PictureBox в PictureBox, это нужно сделать в вашем коде (Form1.cs) и в функции Intializing:

 public Form1() { InitializeComponent(); pictureBox7.Controls.Add(pictureBox8); pictureBox8.Location = new Point(0, 0); pictureBox8.BackColor = Color.Transparent; } 

Просто измените имена полей изображений на то, что вам нужно. Это должно возвратиться:

введите описание изображения здесь

GameBoard – это управление типом DataGridView; Изображение должно быть типом PNG с прозрачным фоном альфа-канала;

  Image test = Properties.Resources.checker_black; PictureBox b = new PictureBox(); b.Parent = GameBoard; b.Image = test; b.Width = test.Width*2; b.Height = test.Height*2; b.Location = new Point(0, 90); b.BackColor = Color.Transparent; b.BringToFront(); 

введите описание изображения здесь

Попробуйте использовать ImageList

 ImageList imgList = new ImageList; imgList.TransparentColor = Color.White; 

Загрузите изображение следующим образом:

 picturebox.Image = imgList.Images[img_index]; 

У меня была аналогичная проблема. Вы не можете сделать Transparent picturebox легко, например изображение, показанное в верхней части этой страницы, потому что объекты .NET Framework и VS .NET созданы INHERITANCE! (Используйте родительское свойство).

Я решил эту проблему с помощью RectangleShape и с приведенным ниже кодом удалил фон, если разница между PictureBox и RectangleShape не важна и не имеет значения, вы можете легко использовать RectangleShape .

 private void CreateBox(int X, int Y, int ObjectType) { ShapeContainer canvas = new ShapeContainer(); RectangleShape box = new RectangleShape(); box.Parent = canvas; box.Size = new System.Drawing.Size(100, 90); box.Location = new System.Drawing.Point(X, Y); box.Name = "Box" + ObjectType.ToString(); box.BackColor = Color.Transparent; box.BorderColor = Color.Transparent; box.BackgroundImage = img.Images[ObjectType];// Load from imageBox Or any resource box.BackgroundImageLayout = ImageLayout.Stretch; box.BorderWidth = 0; canvas.Controls.Add(box); // For feature use } 

Одним быстрым решением является свойство изображения для изображения1 и задано свойство backgroundimage для imag2, единственное неудобство состоит в том, что у вас есть два изображения внутри поля изображения, но вы можете изменить свойства фона на черепицу, растянутую и т. Д. Убедитесь, что обратная сторона будет прозрачной , Надеюсь это поможет

вы можете установить свойство PictureBox BackColor для Transparent

  • Вставка консоли DOS в виде windows
  • Закройте MessageBox через несколько секунд
  • Как вы показываете анимированные GIF-файлы в форме Windows (c #)
  • Как определить, когда минимизируется форма windows?
  • Как я могу заставить Visual Studio 2008 Window Forms создать форму, которая реализует абстрактный базовый class?
  • Кнопка Windows.Forms с выпадающим меню
  • Как рисовать округленный прямоугольник с помощью WinForms (.NET)?
  • Блокировка диалогов в элементе управления .NET WebBrowser
  • Как заставить мою программу C # Winforms запускаться как администратор на любом компьютере?
  • Как заставить курсор переходить к курсору ожидания?
  • Сделать безграничную форму подвижной?
  • Interesting Posts

    Можно ли передавать параметры запроса через тег шаблона {% url%} Django?

    Как удалить файл с именем «-p» из bash?

    Поместить постоянный текст внутри EditText, который должен быть не редактируемый – Android

    Как открыть чистый терминал в Mac OS X Lion?

    Быстрый VNC от Windows до Mac?

    В чем разница между ViewData и ViewBag?

    Как запросить XML с помощью пространств имен в Java с XPath?

    Полный список команд Commandline

    Как я могу заставить UITextField двигаться вверх, когда клавиатура присутствует?

    Как избежать обратных косых черт в строке R

    Как преобразовать строку с кодировкой Unicode в строку букв

    Структура «Грейдл» и «Мультипроект»

    Cassandra cqlsh – как показать микросекунды / миллисекунды для столбцов временной отметки?

    Android 5.1.1 и выше – getRunningAppProcesses () возвращает только мой пакет приложений

    Возможно ли распечатать только определенный раздел C-строки без создания отдельной подстроки?

    Давайте будем гением компьютера.