Рейтинг:
0
Gonzalo Brusella
Однажды мне пришлось создать надпись "градиент"... Это код (работает в Winforms)
public partial class GradientLabel : Label {
public LabelEx() {
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs e) {
Font font = new Font("Tahoma", 48f, FontStyle.Bold);
LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, Width, Height + 5), Color.Gold, Color.Black, LinearGradientMode.Vertical);
e.Graphics.DrawString(Text, font, brush, 0, 0);
}
}
Это не совсем "два цвета", но может привести вас к решению.
CHill60
Вы *понимаете*, что этот вопрос был более 2 лет назад? Как бы хорош он ни был.
Рейтинг:
0
W∴ Balboos, GHB
Обходной путь. Создайте нижнюю "кнопку" с некоторым текстом, а затем продолжайте накладывать на нее кнопки, содержащие некоторые символы разных цветов и цветов. прозрачный фоны, накладывающиеся на нижнюю "кнопку". Я использую" кнопку", потому что все они являются фиктивными объектами в форме кнопки. Только элемент верхнего уровня является фактической "кнопкой", которая действительно сводится к тому, что у него есть событие onclick.
Это достаточно практично, кстати, в том, что он используется в некоторых типах фишинговых мошенничеств - наложение реальных данных веб-сайта с прозрачными элементами управления, которые принимают ввод, отправляют его обратно мошенникам, а затем либо сообщают об ошибке (переход на реальную страницу для повторного входа), либо даже вводят текст на реальный экран, когда невидимый слой уходит.
Maciej Los
Дорогой У. Бальбус,
Этот вопрос довольно стар... (был опубликован в 2012 году). Вам не кажется, что ОП не заинтересован в новом ответе?
W∴ Balboos, GHB
Ну, я вытащил его из "текущего" списка. Что-то подняло этот вопрос. Теперь, когда вы указали на это, я заметил, что ответы в основном относятся к 2012 году, а еще один-к 2014 году.
Может быть, решение 8 удовлетворит того, кто продолжает его активировать? По какой-то причине он был просто обновлен. Может быть, они и есть все еще работаете над этой проблемой?
Jochen Arndt
Каждый раз, когда публикуется ответ на старый вопрос, он возвращается в начало списка. Хотя некоторые из них могут быть полезны, большинство из них являются спамом, а некоторые ошибочны или вводят в заблуждение, как в этом случае.
Это было доведено до вершины списка двумя "не ответами", которые были тем временем удалены. Они были похожи на решения 2 и 3, которые не признают, что этот вопрос относится к настольному приложению C#.
Поэтому всегда проверяйте дату(ы), прежде чем отвечать.
Но вы не одиноки. Это случилось со всеми нами.
W∴ Balboos, GHB
Сверяюсь с датами - я вижу, что в этом есть смысл. Я, вероятно, в конечном итоге сделаю это снова, потому что, увы, я часто сосредотачиваюсь на вещах (быстро) и читаю вопрос, существующие ответы и определение того, есть ли у меня что-то ценное, чтобы добавить, потребляют большую часть моих мысленных потоков.
Тем не менее, я все равно постараюсь держать в уме дату проверки, где-нибудь. Может быть, когда я прочитаю часть "что я пробовал".
Может быть, способ закрыть вопрос (через год или около того) для любых дальнейших ответов может быть решением?
Jochen Arndt
"Может быть, способ закрыть вопрос (через год или около того) для любых дальнейших ответов может быть решением?"
Это уже обсуждалось на форуме Bugs&suggestions, но было отклонено (AFAIR, потому что ответы могут дать новые взгляды - как у вас).
W∴ Balboos, GHB
Теперь я чувствую себя хомяком, бегущим в одном из этих колес.
Уииииииии!
Richard Deeming
На прошлой неделе был официальный комментарий по этому поводу от Шона:
Ответы на старые вопросы[^]
"Двигаясь вперед, пожалуйста, позвольте другим пользователям ответить на старые вопросы."
W∴ Balboos, GHB
Две вещи:
1 - Самое простое решение во всем - пусть простые вопросы и ответы идут именно так
2 - Почему у Шона отрицательное количество очков репутации? У него их так много, что они валяются в подписанном int, или ...
Рейтинг:
0
Suresh Bavireddy
lbl.Text = "<span style="color:Red;">TextPart1</span><span style="color:White;">" + textvariable + "</span>";
Это действительно работает я проверил
CHill60
Вы *понимаете*, что этот вопрос был более 2 лет назад? А Winforms?
Suresh Bavireddy
Конечно, Хо Уолд, это может быть вопрос, это всегда вопрос.. вчера я был в такой же нужде..Конечно, ему уже 2 года, но я нашел его полезным, и он сработал для меня. Через какое-то время кто-то может искать то же самое... Что плохого в публикации ответа?
CHill60
Нет ничего плохого в публикации ответа, если он добавляет что-то, что еще не было упомянуто ... в этом случае плакат опубликовал практически идентичный ответ, как решение 2, и проигнорировал комментарий OP "извините, друг, мне это нужно в приложении Windows"
Member 11021961
чемпион... вы проверили его... сначала проверьте n, а затем скажите, что он работает.
:О
Member 11021961
в оконном приложении
pccoder71
это заставило меня задуматься, так что да, это было полезно. Для выполнения этой задачи я могу использовать встроенный элемент управления веб-страницей.
Рейтинг:
0
CHill60
Вы *понимаете*, что этот вопрос был более 2 лет назад?
Matt T Heffron
:до:
Нет, просто увидел, что он (re)появился в недавнем списке QA...
CHill60
Да ... не могу вспомнить, что его оживило ... по-моему, водитель сайта. Но ты не единственный, кого поймали. ;-)
Gonzalo Brusella
Просто появился как "недавний" вопрос... (Не проверил даты :'( )