一个button的背景图怎么做好些呢?找的图片、或者找人做的图片,不一定和按钮大小一致,虽然可以填满,但会影响图片质量吧
我看到有些软件的按钮是一个图片,并没有边框,鼠标移上去的时候,才看到,很好看

解决方案 »

  1.   

    ImageButton,网上有很多代码
    http://blog.csdn.net/agoodchild/article/details/6698394
    效果:
    效果:
      

  2.   

    如果按钮不多,用Photoshop切图后放上去,否则你需要自绘背景,也可以直接找现成的控件。
      

  3.   

    如果是用WPF的话可以试下这个按钮样式模板
    效果图:
    代码:    <Style x:Key="ImageButton" TargetType="{x:Type Button}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Button}">
                            <Grid>
                                <Border Opacity="0" Name="bd" BorderBrush="#FFC8C8C8"
                                    BorderThickness="1"
                                    CornerRadius="5">
                                    <Border.Background>
                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                            <GradientStop Color="#FFC8C8C8" Offset="0" />
                                            <GradientStop Color="White" Offset="1" />
                                        </LinearGradientBrush>
                                    </Border.Background>
                                </Border>
                                <StackPanel>
                                    <Label Width="32" Margin="5,5,5,0" Height="32" Background="{TemplateBinding Background}" Opacity="0.8" VerticalAlignment="Top" x:Name="bkImage" />
                                    <TextBlock Name="TextShow" Margin="10,5,10,10" Text="{TemplateBinding Content}" VerticalAlignment="Bottom" HorizontalAlignment="Center"/>
                                </StackPanel>
                            </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter TargetName="bkImage" Property="Opacity" Value="1" />
                                <Setter TargetName="bd" Property="Opacity" Value="1" />
                                <Setter TargetName="TextShow" Property="Foreground" Value="Green" />
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>