Итак, у меня есть форма и метка, которые полностью прозрачны, и должен быть виден только текст. Но всякий раз, когда я запускаю программу, текст выглядит так (черный цвет с моего рабочего стола):

this

Что я сделал, чтобы сделать форму прозрачной, так это установил для FormBorderStyle значение None, для ключа Transperency Key значение Transparent и Opacity на 100% для метки. Я просто установил для нее значение White, что сделало ее прозрачной.

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

Спасибо за любую помощь!


РЕДАКТИРОВАТЬ:

Вот код, который я сейчас использую для события Form1_Load:

        this.FormBorderStyle = FormBorderStyle.None;
        this.Opacity = 100;
        this.TransparencyKey = Color.Transparent;
        this.BackColor = Color.White;
        label1.ForeColor = Color.Orange;
        label1.Text = "test" + Environment.NewLine + "test";
2
Twenty 4 Окт 2018 в 22:33

1 ответ

Лучший ответ

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

g.SmoothingMode = SmoothingMode.AntiAlias;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.TextRenderingHint = TextRenderingHint.SingleBitPerPixelGridFit; // This makes the diffrence otherwise it does look exactly the same!
g.DrawString("yourText", new Font("Tahoma", 30), Brushes.Black, 100,100);
3
Twenty 4 Окт 2018 в 20:15