Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

CreateParams-Klasse

 

Veröffentlicht: Oktober 2016

Kapselt die Informationen, die beim Erstellen eines Steuerelements benötigt.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

System.Object
  System.Windows.Forms.CreateParams

public class CreateParams

NameBeschreibung
System_CAPS_pubmethodCreateParams()

Initialisiert eine neue Instanz der CreateParams-Klasse.

NameBeschreibung
System_CAPS_pubpropertyCaption

Ruft ab, oder legt diesen fest Ausgangstext des Steuerelements.

System_CAPS_pubpropertyClassName

Ruft ab oder legt den Namen der Windows-Klasse, die das Steuerelement abgeleitet werden.

System_CAPS_pubpropertyClassStyle

Ruft ab oder legt eine bitweise Kombination der Klasse Style-Werte.

System_CAPS_pubpropertyExStyle

Ruft ab oder legt eine bitweise Kombination der Werte erweiterten Fensterstil.

System_CAPS_pubpropertyHeight

Ruft ab oder legt die anfängliche Höhe des Steuerelements.

System_CAPS_pubpropertyParam

Ruft ab oder legt fest, die zusätzliche Parameter erforderlich, um das Steuerelement zu erstellen.

System_CAPS_pubpropertyParent

Ruft ab oder legt das übergeordnete Element des Steuerelements fest.

System_CAPS_pubpropertyStyle

Ruft ab oder legt eine bitweise Kombination der Fensterstilwerte.

System_CAPS_pubpropertyWidth

Ruft ab oder legt die anfängliche Breite des Steuerelements.

System_CAPS_pubpropertyX

Ruft ab oder legt die ursprüngliche linke Position des Steuerelements.

System_CAPS_pubpropertyY

Ruft ab oder legt die obere Position der Anfangsposition des Steuerelements.

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Überschreibt Object.ToString().)

Die Informationen in einem CreateParams kann verwendet werden, um Informationen zum ursprünglichen Zustand und zur Darstellung eines Steuerelements übergeben. Die meisten Control abgeleiteten Steuerelemente überschreiben die CreateParams Eigenschaft, um die geeigneten Werte zu übergeben oder zusätzliche Informationen in den CreateParams.

Weitere Informationen über das Erstellen, finden Sie die CreateWindow und CreateWindowEx Funktionen und die CREATESTRUCT Struktur-Dokumentation in der Windows Platform SDK-Referenz befindet sich in der MSDN Library.

System_CAPS_noteHinweis

Die Konstanten zum Festlegen der Style, ExStyle, und ClassStyle Eigenschaften werden in der Headerdatei Winuser.h definiert. Diese Datei wird vom Platform SDK oder in Visual Studio installiert.

Der folgende Code erstellt ein Button abgeleitete Klasse mit dem Namen MyIconButton und die Implementierung erforderlich sind, für die Schaltfläche ein Symbol statt eines Bilds angezeigt. Die CreateParams der erweiterten Eigenschaft und ein Wert hinzugefügt, der Style -Eigenschaft, die bewirkt, die Schaltfläche zum Anzeigen dass einer Icon anstelle einer Image.

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

[SecurityPermission(SecurityAction.Demand, UnmanagedCode = true)]
public class MyIconButton : Button
{

    private Icon icon;

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

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


        // Size the button to 4 pixels larger than the icon.
        this.Height = icon.Height + 4;
        this.Width = icon.Width + 4;
    }

    protected override CreateParams CreateParams
    {
        get
        {
            new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();

            // Extend the CreateParams property of the Button class.
            CreateParams cp = base.CreateParams;
            // Update the button Style.
            cp.Style |= 0x00000040; // BS_ICON value

            return cp;
        }
    }

    public Icon Icon
    {
        get
        {
            return icon;
        }

        set
        {
            icon = value;
            UpdateIcon();
            // Size the button to 4 pixels larger than the icon.
            this.Height = icon.Height + 4;
            this.Width = icon.Width + 4;
        }
    }

    [SecurityPermission(SecurityAction.Demand, UnmanagedCode = true)]
    protected override void OnHandleCreated(EventArgs e)
    {
        base.OnHandleCreated(e);

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

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

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

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


    // Import the SendMessage method of the User32 DLL.   
    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    public static extern IntPtr SendMessage(IntPtr hWnd, int msg, int wParam, int lParam);

}

Das folgende Codebeispiel erstellt eine Instanz des Button -Steuerelement und eine Instanz des abgeleiteten Steuerelements MyIconButton, der im obigen Beispiel. Dieses Beispiel benötigen Sie, dass es ist ein Icon -Datei Default.ico sich am gleichen Speicherort wie die Anwendung. Beim Starten der Anwendung, die Default -Symbol wird angezeigt, auf die MyIconButton Schaltfläche. Wenn die Default Symbol ist nicht vorhanden, die Oberfläche der Schaltfläche ist leer. Wenn der Standard Button geklickt wird, eine OpenFileDialog angezeigt, können Sie ein neues Symbol zum Anzeigen auswählen die MyIconButton.

public class MyApplication : Form
{
    private MyIconButton myIconButton;
    private Button stdButton;
    private OpenFileDialog openDlg;

    static void Main()
    {
        Application.Run(new MyApplication());
    }

    public MyApplication()
    {
        try
        {
            // Create the button with the default icon.
            myIconButton = new MyIconButton(new Icon(Application.StartupPath + "\\Default.ico"));
        }
        catch (Exception ex)
        {
            // If the default icon does not exist, create the button without an icon.
            myIconButton = new MyIconButton();
            Debug.WriteLine(ex.ToString());
        }
        finally
        {
            stdButton = new Button();

            // Add the Click event handlers.
            myIconButton.Click += new EventHandler(this.myIconButton_Click);
            stdButton.Click += new EventHandler(this.stdButton_Click);

            // Set the location, text and width of the standard button.
            stdButton.Location = new Point(myIconButton.Location.X, myIconButton.Location.Y + myIconButton.Height + 20);
            stdButton.Text = "Change Icon";
            stdButton.Width = 100;

            // Add the buttons to the Form.
            this.Controls.Add(stdButton);
            this.Controls.Add(myIconButton);
        }

    }

    private void myIconButton_Click(object Sender, EventArgs e)
    {
        // Make sure MyIconButton works.
        MessageBox.Show("MyIconButton was clicked!");
    }

    private void stdButton_Click(object Sender, EventArgs e)
    {
        // Use an OpenFileDialog to allow the user to assign a new image to the derived button.
        openDlg = new OpenFileDialog();
        openDlg.InitialDirectory = Application.StartupPath;
        openDlg.Filter = "Icon files (*.ico)|*.ico";
        openDlg.Multiselect = false;
        openDlg.ShowDialog();

        if (openDlg.FileName != "")
        {
            myIconButton.Icon = new Icon(openDlg.FileName);
        }
    }

}

.NET Framework
Verfügbar seit 1.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: