Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1563 | Anzahl registrierter User: 1895 | Besucher online: 88
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

InputBox WPF C#


Autor: RundR
Sprache: C#
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 3263
  
Kick it on dotnet-kicks.de  

Beschreibung:

Ein Nachbau der VB.NET InputBox mit WPF/C#.

Abgelegt unter: InputBox, Dialog, ShowDialog, Box, MessageBox, Show, WPF, C#, Nachbau.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
// --------------------------------------------------------------------------------------------------------------------
// <info file="CsharpInputBox.cs" author="Rouven Himmelstein" version="1.2.0.0" releaseDate="21.05.2012">
//   (c) by Rouven Himmelstein
// </info>
// --------------------------------------------------------------------------------------------------------------------
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;

/// <summary>
/// Shows a InputBox dialog.
/// </summary>
static class InputBox
{
    static Window dialogWindow;
    static InputBoxResult PressedButton;

    private enum InputBoxResult
    {
        Ok = 0,
        Cancel = 1,
        Default = 2,
    }

    /// <summary>
    /// Shows the InputBox.
    /// </summary>
    /// <param name="caption">Caption of the window.</param>
    /// <param name="description">Description of the window.</param>
    /// <param name="defaultInputValue">Default value of the InputBox.</param>
    /// <returns></returns>
    public static string ShowDialog(string caption, string description, string defaultInputValue)
    {
        var rootPanel = new StackPanel { Margin = new Thickness(5) };
        var AA = new StackPanel { Orientation = Orientation.Horizontal };
        var AB = new StackPanel { };

        rootPanel.Children.Add(AA);
        rootPanel.Children.Add(AB);

        var AAA = new StackPanel { Width = 215, Margin=new Thickness(2.5) };
        var AAB = new StackPanel { Width = 75, Orientation = Orientation.Vertical };

        AA.Children.Add(AAA);
        AA.Children.Add(AAB);

        dialogWindow = new Window
        {
            Title = caption,
            WindowStartupLocation = WindowStartupLocation.CenterOwner,
            WindowStyle = WindowStyle.ThreeDBorderWindow,
            ResizeMode = ResizeMode.NoResize,
            Width = 315,
            Height = 120,
            Content = rootPanel,
            ShowInTaskbar = false,
            Background = Brushes.LightGray
        };

        var descriptionText = new TextBlock { Text = description, TextWrapping = TextWrapping.Wrap, MaxHeight = 50 };
        var inputTextBox = new TextBox { Text = defaultInputValue };
        var OkButton = new Button { Content = "Ok", Margin = new Thickness(0, 0, 0, 5) };
        var CancelButton = new Button { Content = "Abbrechen", Margin = new Thickness(0, 0, 0, 5) };

        OkButton.Click += new RoutedEventHandler(OkButton_Click);
        CancelButton.Click += new RoutedEventHandler(CancelButton_Click);
        dialogWindow.KeyDown += new System.Windows.Input.KeyEventHandler(dialogWindow_KeyDown);

        AAA.Children.Add(descriptionText);
        AB.Children.Add(inputTextBox);
        AAB.Children.Add(OkButton);
        AAB.Children.Add(CancelButton);

        PressedButton = InputBoxResult.Default;

        inputTextBox.Focus();
        inputTextBox.SelectAll();

        dialogWindow.ShowDialog();

        switch (PressedButton)
        {
            case InputBoxResult.Ok:
                return inputTextBox.Text;
            case InputBoxResult.Cancel:
                return string.Empty;
            default:
                return string.Empty;
        }
    }
    private static void OkButton_Click(object sender, RoutedEventArgs e)
    {
        PressedButton = InputBoxResult.Ok;
        dialogWindow.Close();
    }

    private static void CancelButton_Click(object sender, RoutedEventArgs e)
    {
        PressedButton = InputBoxResult.Cancel;
        dialogWindow.Close();
    }

    private static void dialogWindow_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
    {
        switch (e.Key)
        {
            case System.Windows.Input.Key.Enter:
                PressedButton = InputBoxResult.Ok;
                dialogWindow.Close();
                break;
            case System.Windows.Input.Key.Escape:
                PressedButton = InputBoxResult.Cancel;
                dialogWindow.Close();
                break;
        }
    }
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



Diese Snippets könnten für Sie interessant sein:
[C#] Datei-Eigenschaften zeigen (Eigenschaften-Fenster)
[C#] Den Bildschirm um Dialog herum abdunkeln/ausgrauen.
[C#] Verzeichnisauswahl Dialog (FolderBrowserDialog)
[C#] Öffnet den Windows Info Dialog.
[C#] TaskDialog anzeigen
[C#] FolderBrowseDialog in WPF
[C#] WaterBox
[C#] Sicherheitsabfrage - Anwendung beenden
[ASP.net] MessageBox in ASP.net
[C#] MessageBox Appender für LOG4NET
[C#] Fading MessageBox ohne Buttons
[C#] Code zur Laufzeit kompilieren
[VB.NET] Webcam in PictureBox anzeigen
[C#] Daten aus einer Datenbank in WPF darstellen
[C#] WPF-Steuerelemente in Windows Forms-Anwendung nutzen
[C#] Transparente WPF-Anwendung
[C#] Rechtschreibhilfe in .NET WPF Anwendung integrieren
[C#] Alle verfügbaren Farben mittels WPF ausgeben
[C#] WPF: Image aus dem Web in Image-Element anzeigen
[C#] Handle eines WPF Fensters ermitteln
[VB.NET] Theme für WPF-Anwendungen anwenden
[C#] WPF Fenster mit Aero Glass
[C#] Bilder aus *.resx Ressourcen Dateien in WPF verwenden
[C#] RoutedEvent erstellen
[C#] Automatische Anpassung der Breite von GridViewColumns
[C#] User-Management für WPF Smart Client Anwendung
[C#] WPF Formulare dynamisch laden
[C#] old Windows Forms Image to new WPF Image
[C#] WPF Shortcut
[C#] Drag-and-Drop-Binding in .NET 4
[C#] Spalten des WPF-DataGrid in .NET 4 anpassen
[C#] WPF-Anwendung mit .NET 4 entwickeln
[C#] WPF Tutorial: Auf Datenbankinhalte mit WCF zugreifen
[C#] WPF: Mit Validation Rules Eingaben validieren
[C#] WPF: Rechtschreibhilfe in Anwendung integrieren
[C#] WPF-Splash-Fenster
[VB.NET] Ist Silverlight im Design Modus oder in der IDE (WPF)
[C#] Ribbon-Oberfläche in WPF implementieren
[C#] Hochwertige (optisch ansprechende) WPF - Buttons
[C#] WPF - Buttons "OK/Cancel" - endlich unverwechselbar -
[C#] Visuelles Feedback fokussierter Text Boxen
[C#] TextBlock animiert ein- und ausblenden
[C#] Ein kleiner Konsolen Taschenrechner
[C#] Prüft Zeitformat auf 24 Stunden
[C#] Datei/Ordner durch Erweiterungsmethoden abfragen
[C#] GetCharts
[C#] XML in DataTable laden
[C#] Generische Between Methode
[ASP.net] Formularelement fokusieren auf Ajax Seiten
[C#] Quadratwurzel ziehen
[C#] Cast to Enum
[C#] ASP.NET: Metatags und Titel zur Laufzeit setzen
[C#] Aufrufenden Typ identifizieren
[C#] Kaufmännisches Runden in Decimal
[C#] WMI Getter
[C#] Sql Server Instanzen finden
[C#] Quoted Printable Encoder
[C#] URL auslesen
[C#] User-Verwaltung in eine ASP.NET Website einbauen
[C#] GUID des aktuellen Assembly ermitteln
[C#] Windows Forms Anwendungs-Sessions verwalten
[C#] Silverlight Anwendung erstellen
[C#] User-Verwaltung in eine WinForm einbauen
[C#] Java WebService aus einem WinForms-Client aufrufen
[C#] C# Ist ein POINT zwischen ... und ...
[C#] NumTextBox (Kurzversion)
[C#] Another Bin-Watch (Console)
[C#] SystemIconsImageListWrapper
[C#] WatchedList
[C#] Datenbankverbindung herstellen
[C#] Einfache Ini Klasse
[C#] Youtube Download Klasse für C#
[C#] C# Ordner auslesen und in Liste speichern "rekursiv"
[C#] C# XOR Crypt

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.