透明标签上的透明标签

时间:2015-03-30 21:16:21

标签: c# forms label transparent backcolor

我google了一下并尝试了一些代码,但我无法绘制没有边框或背景颜色的标签。 所以,我想编写一个小计时器,但我只是想看看数字而不是任何一种背景。

在Java中,这非常简单,setUndecorated并设置backcolor在Java中解决了这个问题。 C#中还有一种方法吗?

3 个答案:

答案 0 :(得分:0)

答案的唯一方法是你需要拍摄背景图片并将标签的背景图片设置为该图片。如果你想知道它是如何工作的,那就给你一个代码。

答案 1 :(得分:0)

这对我有用(假设你的标签和表格都有相同的BackColor)......

private void Form1_Load(object sender, EventArgs e)
{
    // Make form invisible (except label text)
    this.TransparencyKey = this.BackColor;
    this.FormBorderStyle = FormBorderStyle.None;

    // Optional, but you mentioned you had a border and backcolor on your label:
    this.label1.BorderStyle = BorderStyle.None;
    this.label1.BackColor = Color.Transparent;
} 

或者,如果您只想要SEMI透明表单,则将不透明度设置为百分比(.75为75%):

private void Form1_Load(object sender, EventArgs e)
{
    this.FormBorderStyle = FormBorderStyle.None;
    this.label1.BackColor = Color.Transparent;
    this.Opacity = .75;
}

答案 2 :(得分:0)

好的thx家伙:) 我使用WPF,经过一番研究后更容易。

这是我的代码:

<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="CountDown.MainWindow"
    Title="CountDown" Width="Auto" Height="Auto" SizeToContent="WidthAndHeight"
    AllowsTransparency="True" WindowStyle="None" Left="0" Top="0">
<Window.Background>
    <SolidColorBrush Opacity="0" Color="White"/>
</Window.Background>
<Grid>
    <TextBlock
        HorizontalAlignment="Left" VerticalAlignment="Top" Margin="-2, -10"
        FontFamily="Arial" FontSize="50" FontWeight="Bold"
        Text="90"
    />
</Grid>