CreateParams.Style 属性

获取或设置窗口样式值的按位组合。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
Public Property Style As Integer
用法
Dim instance As CreateParams
Dim value As Integer

value = instance.Style

instance.Style = value
public int Style { get; set; }
public:
property int Style {
    int get ();
    void set (int value);
}
/** @property */
public int get_Style ()

/** @property */
public void set_Style (int value)
public function get Style () : int

public function set Style (value : int)

属性值

窗口样式值的按位组合。

备注

Style 属性控制控件的外观和初始状态。

有关创建控件参数的更多信息,请参见 MSDN Library 中的 Windows Platform SDK 参考中的 CreateWindow 函数、CreateWindowEx 函数以及 CREATESTRUCT 结构文档。

提示

用于设置 StyleExStyleClassStyle 属性的常数在 Winuser.h 头文件中定义。由 Platform SDK 或 Visual Studio .NET 安装该文件。

示例

下面的代码示例创建一个名为 MyIconButtonButton 派生类,并为该按钮提供显示图标而非图像所需的实现。CreateParams 属性被扩展,并且向可使按钮显示 Icon 而非 ImageStyle 属性中添加了一个值。

import System.*;
import System.Drawing.*;
import System.Windows.Forms.*;
import System.Runtime.InteropServices.*;
import System.Diagnostics.*;
import System.IO.*;
import System.Security.Permissions.*;

/** @attribute SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)
 */
public class MyIconButton extends Button
{
    private Icon icon;

    public MyIconButton()
    {
        // Set the button's FlatStyle property.
        set_FlatStyle(get_FlatStyle().System);
    } //MyIconButton

    public MyIconButton(Icon ButtonIcon)
    {
        // Assign the icon to the private field.   
        this.icon = ButtonIcon;

        // Size the button to 4 pixels larger than the icon.
        this.set_Height(icon.get_Height() + 4);
        this.set_Width(icon.get_Width() + 4);
    } //MyIconButton

    /** @property 
     */
    protected CreateParams get_CreateParams()
    {
        // Extend the CreateParams property of the Button class.
        CreateParams cp = super.get_CreateParams();

        // Update the button Style.
        cp.set_Style(cp.get_Style() | 0x40); // BS_ICON value
        return cp;
    } //get_CreateParams

    /** @property 
     */
    public Icon get_Icon()
    {
        return icon;
    } //get_Icon

    /** @property 
     */
    public void set_Icon(Icon value)
    {
        icon = value;
        UpdateIcon();

        // Size the button to 4 pixels larger than the icon.
        this.set_Height(icon.get_Height() + 4);
        this.set_Width(icon.get_Width() + 4);
    } //set_Icon

    protected void OnHandleCreated(EventArgs e)
    {
        super.OnHandleCreated(e);

        // Update the icon on the button if there is currently an icon assigned 
        // to the icon field.
        if (icon != null) {
            UpdateIcon();
        }
    } //OnHandleCreated

    private void UpdateIcon()
    {
        IntPtr iconHandle = IntPtr.Zero;

        // Get the icon's handle.
        if (icon != null) {
            iconHandle = icon.get_Handle();
        }

        // Send Windows the message to update the button. 
        SendMessage(get_Handle(), 0x00F7 /*BM_SETIMAGE value*/, 
            1 /*IMAGE_ICON value*/, (iconHandle.ToInt32())); 
        
    } //UpdateIcon

    // Import the SendMessage method of the User32 DLL.   
    /** @attribute DllImport("user32.dll", CharSet = CharSet.Auto)
     */
    public static native IntPtr SendMessage(IntPtr hWnd, int msg, 
        int wParam, int lParam);
} //MyIconButton

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

CreateParams 类
CreateParams 成员
System.Windows.Forms 命名空间
CreateParams.ExStyle 属性
CreateParams.ClassStyle 属性