Как убрать фон у label c
Перейти к содержимому

Как убрать фон у label c

Подскажите пожалуйста, как сделать фон label1 прозрачным?

Подскажите пожалуйста, как сделать фон label1 прозрачным?

Это не работает.

1 ответ

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

Свойство BackColor не поддерживает прозрачные цвета, если для значения SupportsTransparentBackColor System.Windows.Forms.ControlStyles не установлено значение true.

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

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

Как убрать фон у label c

Профиль
Группа: Участник
Сообщений: 12
Регистрация: 4.3.2010
Где: Украина

Репутация: нет
Всего: нет

Всем привет! Говорю сразу я новичок! Естественно много вопросов!
Вот несколько из них:

1. В Windows Form я решил сменить фон программы. Сменил! После добавил label но столкнулся с проблемой. Фон лейблов плохо смотрится на фоне формы! А я хочу что б у меня на фоне формы были только буквы без фона. Надеюсь понятно изложил вопрос.

2. Следующий вопрос скорее всего по Юникоду!
Вот у меня есть строчка:
label1.Text = summ.ToString("C");
она мне дает вывод буквы ".р" на примет. цена сандвича: 25,34 а мне нужно сделать цена сандвича: 25,34 .грн !
Подскажите пожалуйста как это сделать! И есть ли где-то перечень этих знаков, на будущие!

3. Вопрос по конструктору. Как мне в конструкторе сделать сетку для того что бы ровно расставлять элементы. Я в задачнику видел скриншоты формы, то там у него по всей пощаде точки. Так как мне тоже это сделать?

Буду очень благодарен если мне дадут четкий ответ без всяких приколов и ссылок типа поищи в гугле или мы уже такое обсуждали!

I think, there4 I am

Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28

Код
NumberFormatInfo d = new NumberFormatInfo()
<
CurrencySymbol = "грн"
>;
label1.Text = k.ToString("C",d);

3. Увы забыл где это устанавливается. Ты в какой студии работаешь? С 2005 версии очень удобно и так выравнивания производить

Добавлено через 6 минут и 34 секунды
3. Tools-Options-Windows Forms Designer-> LayoutMode=SnapToGrid

Добавлено через 6 минут и 56 секунд
и перезапусти студию

Профиль
Группа: Участник
Сообщений: 12
Регистрация: 4.3.2010
Где: Украина

Репутация: нет
Всего: нет

CYBERDREAM огромное спасибо за помощь!
По поводу лейблов! Я сменил фон формы на рисунок, тоесть фон лейбла не подберу! Поэтому мне нужно сделать именно прозрачный фон а не такой как на форме! Я работаю в Microsoft Visual 2008.

С точками разобрался. спасибо. очень удобная вещь.

А вот с ".грн" не понял, так еще мало в чем розбераюсь! Если не трудно, я кинул код с задачника, простейшая программа, укажи пожалуйста где нужно прописать эту строчку с ".грн" а я попытаюсь понять! Буду очень благодарен!

Код
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication15
<
public partial class Form1 : Form
<
private double summ;

private void Form1_Load(object sender, EventArgs e)
<
checkBox3.Enabled = false;
>

private void checkBox1_CheckedChanged(object sender, EventArgs e)
<
if (checkBox1.Checked) summ += 54.00;
else summ -= 54.00;

private void checkBox2_CheckedChanged(object sender, EventArgs e)
<
if (checkBox2.Checked)
<
summ += 24.50;
if (!checkBox3.Enabled) checkBox3.Enabled = true;
>
else
<
summ -= 24.50;
if (checkBox3.Checked) checkBox3.Checked = false;
checkBox3.Enabled = false;
>
label1.Refresh();
>

private void checkBox3_CheckedChanged(object sender, EventArgs e)
<
if (checkBox3.Checked) summ += 10.50;
else summ -= 10.50;
label1.Refresh();
>

private void checkBox4_CheckedChanged(object sender, EventArgs e)
<
if (checkBox4.Checked) summ += 18.00;
else summ -= 18.00;
label1.Refresh();
>

private void label1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
<
label1.Text = summ.ToString("C");
>

private void button1_Click(object sender, EventArgs e)
<
if (checkBox1.Checked && checkBox2.Checked &&
checkBox3.Checked && checkBox4.Checked)
<
MessageBox.Show("Вам предоставляеться скидка 10%\n" +
"Стоимоть заказа: " + (summ * 0.9).ToString("C")+
"Кафе");

>
else
<
if (checkBox1.Checked || checkBox2.Checked ||
checkBox3.Checked || checkBox4.Checked)
MessageBox.Show("Стоимость заказа: " +
summ.ToString("C"), "Кафе");
else
MessageBox.Show("Вы нечего не заказали!" +
"кафе");

private void label1_Click(object sender, EventArgs e)
<

I think, there4 I am

Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28

подписывать на onpaint не стоит, можно сделать так

Код
#region

using System;
using System.Globalization;
using System.Windows.Forms;

namespace del
<
public partial class example : Form
<
private double _summ;

private readonly NumberFormatInfo _numberFormatInfo = new NumberFormatInfo
<
CurrencySymbol = ".грн"
>;

private void Form1_Load(object sender, EventArgs e)
<
checkBox3.Enabled = false;
>

private void checkBox1_CheckedChanged(object sender, EventArgs e)
<
if (checkBox1.Checked) Summ += 54.00;
else Summ -= 54.00;
>

private void checkBox2_CheckedChanged(object sender, EventArgs e)
<
if (checkBox2.Checked)
<
Summ += 24.50;
if (!checkBox3.Enabled) checkBox3.Enabled = true;
>
else
<
Summ -= 24.50;
if (checkBox3.Checked) checkBox3.Checked = false;
checkBox3.Enabled = false;
>
label1.Refresh();
>

private void checkBox3_CheckedChanged(object sender, EventArgs e)
<
if (checkBox3.Checked) _summ += 10.50;
else Summ -= 10.50;
label1.Refresh();
>

private void checkBox4_CheckedChanged(object sender, EventArgs e)
<
if (checkBox4.Checked) Summ += 18.00;
else Summ -= 18.00;
>

private void button1_Click(object sender, EventArgs e)
<
if (checkBox1.Checked && checkBox2.Checked &&
checkBox3.Checked && checkBox4.Checked)
<
MessageBox.Show("Вам предоставляеться скидка 10%\n" +
"Стоимоть заказа: " + (Summ*0.9).ToString("C", _numberFormatInfo) +
"Кафе");
>
else
<
if (checkBox1.Checked || checkBox2.Checked ||
checkBox3.Checked || checkBox4.Checked)
MessageBox.Show("Стоимость заказа: " +
Summ.ToString("C", _numberFormatInfo), "Кафе");
else
MessageBox.Show("Вы нечего не заказали!" +
"кафе");
>
>

Профиль
Группа: Участник
Сообщений: 12
Регистрация: 4.3.2010
Где: Украина

Репутация: нет
Всего: нет

I think, there4 I am

Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28

Код
#region

using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;

namespace randz.CustomControls
<
/// <summary>
/// A custom windows control to display text vertically
/// </summary>
[ToolboxBitmap(typeof (VerticalLabel), "VerticalLabel.ico")]
public class VerticalLabel : Control
<
private string _labelText;

private readonly Container _components = new Container();

/// <summary>
/// VerticalLabel constructor
/// </summary>
public VerticalLabel()
<
CreateControl();
InitializeComponent();
SetStyle(ControlStyles.Opaque, true);
>

/// <summary>
/// Dispose override method
/// </summary>
/// <param name = "disposing">boolean parameter</param>
protected override void Dispose(bool disposing)
<
if (disposing)
<
if (_components != null)
<
_components.Dispose();
>
>
base.Dispose(disposing);
>

[DebuggerStepThrough]
private void InitializeComponent()
<
Size = new Size(24, 100);
>

/// <summary>
/// OnPaint override. This is where the text is rendered vertically.
/// </summary>
/// <param name = "e">PaintEventArgs</param>
protected override void OnPaint(PaintEventArgs e)
<
e.Graphics.DrawString(_labelText, Font, new SolidBrush(ForeColor), 0, 0);
>

protected override CreateParams CreateParams
<
get
<
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x20; // Turn on WS_EX_TRANSPARENT
return cp;
>
>

Профиль
Группа: Участник
Сообщений: 12
Регистрация: 4.3.2010
Где: Украина

Репутация: нет
Всего: нет

I think, there4 I am

Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28

Добавь класс в проект (NameSpace поменяй на свой). Собери свой солушин. Затем в тулбоксе увидишь будет создан новый компонент Label7. Ну и как обычный контрол кидай на форму

Это сообщение отредактировал(а) CYBERDREAM — 5.3.2010, 17:22

Профиль
Группа: Участник
Сообщений: 12
Регистрация: 4.3.2010
Где: Украина

Репутация: нет
Всего: нет

Создал клас, переименовал, написал код. а дальше что? Как его скомпилировать что б использовать??

Это сообщение отредактировал(а) Aderando — 9.3.2010, 19:05

I think, there4 I am

Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28

Профиль
Группа: Участник
Сообщений: 12
Регистрация: 4.3.2010
Где: Украина

Репутация: нет
Всего: нет

Там написано собери проект. КАК ЕГО СОБРАТЬ? Мож сказать?

CYBERDREAM, тебе нужно будет:
1) В меню (наверху) выбрать Project —> AddClass.
2) Откроется диалог, дашь етому классу имя SingleCheckedListBox
3) Откроется страница с кодом. Код:Код

Полностью заменишь на мой (1:1, кроме коментариев)
4) Скомпилируешь проект
5) В дизайнере форм на вкладке Toolbox появится подвкладка "<Твой проект> components" появится новый контрол, его можно ложить на форму

Я не понял 4-й пункт! Как его скомпилировать??

Это сообщение отредактировал(а) Aderando — 9.3.2010, 19:36

I think, there4 I am

Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28

Профиль
Группа: Участник
Сообщений: 12
Регистрация: 4.3.2010
Где: Украина

Репутация: нет
Всего: нет

У меня русская версия

Нашел, нажал..ща попробую. ток оно шото не добавилось в туулбокс!

У тебя есть ася?

Это сообщение отредактировал(а) Aderando — 9.3.2010, 20:02

I think, there4 I am

Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28

Профиль
Группа: Участник
Сообщений: 12
Регистрация: 4.3.2010
Где: Украина

Репутация: нет
Всего: нет

  • Что же такое .NET? Краткое описание,изучаем.
  • Какой язык программирования выбрать? выбираем.
  • C#. С чего начать? начинаем.
  • Защита исходного кода .NET приложений, защищаем.
  • Литература по .NET, обращаемся.
  • FAQ раздела,ищем здесь.
  • Архиполезные ссылки:www.connectionstrings.com, www.pinvoke.net, www.codeproject.com

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »

[ Время генерации скрипта: 0.1494 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Как убрать фон у label c

Gray Pipe

Лучший отвечающий

Вопрос

  • Перемещено I.Vorontsov 15 февраля 2010 г. 9:34 (От:Visual C#)
  • Перемещено Tagore Bandlamudi 2 октября 2010 г. 22:40 MSDN Forums consolidation (От:Разработка Windows-приложений)

Ответы

  • Помечено в качестве ответа Серый Науменко 12 февраля 2010 г. 13:51
  • Помечено в качестве ответа Серый Науменко 12 февраля 2010 г. 13:51

на форме label1

  • Помечено в качестве ответа Серый Науменко 12 февраля 2010 г. 14:37

но лейбл за кнопкой не виден

  • Помечено в качестве ответа Серый Науменко 12 февраля 2010 г. 15:50

Все ответы

  • Помечено в качестве ответа Серый Науменко 12 февраля 2010 г. 13:51

фон для формы установили?

другие контролы не будут видны сквозь лейбл

другие контролы не будут видны сквозь лейбл

  • Помечено в качестве ответа Серый Науменко 12 февраля 2010 г. 13:51

на форме label1

  • Помечено в качестве ответа Серый Науменко 12 февраля 2010 г. 14:37

Всё норм код работает, там просто баг был какойта. После перезапука винды всё норм:)

но лейбл за кнопкой не виден

  • Помечено в качестве ответа Серый Науменко 12 февраля 2010 г. 15:50
Центры разработки
  • Windows
  • Office
  • Visual Studio
  • Microsoft Azure
  • Дополнительно.
Обучение
  • Microsoft Virtual Academy
  • Канал Channel 9
  • Журнал MSDN
Сообщество
  • Новости
  • Форумы
  • Блоги
  • Codeplex
Свяжитесь с нами
Программы
  • BizSpark (для стартапов)
  • Microsoft Imagine (for students)
  • Информационный бюллетень
  • Конфиденциальность и файлы cookie
  • Условия использования
  • Товарные знаки

logo© 2022 Microsoft

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *