首頁 > 軟體

C#實現彈窗提示輸入密碼

2022-02-12 16:00:18

本文範例為大家分享了C#實現彈窗提示輸入密碼的具體程式碼,供大家參考,具體內容如下

String PM = Interaction.InputBox("請輸入密碼", "輸入密碼", "", 100, 100);
if (PM != "2222")
{
    MessageBox.Show("請輸入正確的密碼謝謝!!!!!");
    return;
}

如果需要輸入的密碼為加密****,則需要自定義控制元件,直接呼叫該類即可InputBox

使用方法為:

string inMsg = InputBox.ShowInputBox("請輸入管理員(admin)的密碼", string.Empty);
if (inMsg.Trim() != string.Empty)
{
    MessageBox.Show(inMsg);
}

InputBox類

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
 
public class InputBox : System.Windows.Forms.Form
{
    private TextBox textBox_Data;
    private Button button_Enter;
    private Button button_Esc;
    private System.ComponentModel.Container components = null;
 
    private InputBox()
    {
        InitializeComponent();
        this.TopMost = true;
        //this.StartPosition = FormStartPosition.CenterScreen;
        //inputbox.Location.X = 0; inputbox.Location.Y = 0;
        //inputbox.StartPosition = FormStartPosition.CenterScreen;
        //inputbox.Left = 0;
        //inputbox.Top = 0;
    }
 
    protected override void Dispose(bool disposing)
    {
        if (disposing)
        {
            if (components != null)
            {
                components.Dispose();
            }
        }
        base.Dispose(disposing);
    }
 
    private void InitializeComponent()
    {
 
        this.textBox_Data = new System.Windows.Forms.TextBox();
        this.button_Enter = new System.Windows.Forms.Button();
        this.button_Esc = new System.Windows.Forms.Button();
        this.SuspendLayout();
        // 
        // textBox_Data
        // 
        this.textBox_Data.Location = new System.Drawing.Point(8, 8);
        this.textBox_Data.Name = "textBox_Data";
        this.textBox_Data.PasswordChar = '*';
        this.textBox_Data.Size = new System.Drawing.Size(230, 21);
        this.textBox_Data.TabIndex = 2;
        this.textBox_Data.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox_Data_KeyDown);
        // 
        // button_Enter
        // 
        this.button_Enter.Location = new System.Drawing.Point(25, 43);
        this.button_Enter.Name = "button_Enter";
        this.button_Enter.Size = new System.Drawing.Size(75, 23);
        this.button_Enter.TabIndex = 3;
        this.button_Enter.Text = "確 認";
        this.button_Enter.UseVisualStyleBackColor = true;
        this.button_Enter.Click += new System.EventHandler(this.button_Enter_Click);
        // 
        // button_Esc
        // 
        this.button_Esc.Location = new System.Drawing.Point(140, 43);
        this.button_Esc.Name = "button_Esc";
        this.button_Esc.Size = new System.Drawing.Size(75, 23);
        this.button_Esc.TabIndex = 4;
        this.button_Esc.Text = "取 消";
        this.button_Esc.UseVisualStyleBackColor = true;
        this.button_Esc.Click += new System.EventHandler(this.button_Esc_Click);
        // 
        // InputBox
        // 
        this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
        this.ClientSize = new System.Drawing.Size(250, 80);
        this.Controls.Add(this.button_Esc);
        this.Controls.Add(this.button_Enter);
        this.Controls.Add(this.textBox_Data);
        this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
        this.MaximizeBox = false;
        this.MinimizeBox = false;
        this.ControlBox = false;
        this.Name = "InputBox";
        this.Text = "InputBox";
        this.ResumeLayout(false);
        this.PerformLayout();
 
    }
 
    //對鍵盤進行響應
    private void textBox_Data_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter) { button_Enter_Click(sender, e); }
        else if (e.KeyCode == Keys.Escape) { button_Esc_Click(sender, e); }
    }
    private void button_Enter_Click(object sender, EventArgs e)
    {
        this.Close();
    }
    private void button_Esc_Click(object sender, EventArgs e)
    {
        textBox_Data.Text = string.Empty; this.Close();
    }
 
 
    //顯示InputBox
    public static string ShowInputBox(int Left, int Top, string Title, string Prompt, string DefaultResponse)
    {
        InputBox inputbox = new InputBox();
        if (Title.Trim() != string.Empty) inputbox.Text = Title;
        if (DefaultResponse.Trim() != string.Empty) inputbox.textBox_Data.Text = DefaultResponse;
        inputbox.ShowDialog();
        inputbox.Left = Left; inputbox.Top = Top;
        return inputbox.textBox_Data.Text;
    }
    public static string ShowInputBox(FormStartPosition Position, string Title, string Prompt, string DefaultResponse)
    {
        InputBox inputbox = new InputBox();
        inputbox.StartPosition = Position;
        if (Title.Trim() != string.Empty) inputbox.Text = Title;
        if (DefaultResponse.Trim() != string.Empty) inputbox.textBox_Data.Text = DefaultResponse;
        inputbox.ShowDialog();
        return inputbox.textBox_Data.Text;
    }
    public static string ShowInputBox()
    {
        return ShowInputBox(FormStartPosition.CenterScreen, string.Empty, string.Empty, string.Empty);
    }
    public static string ShowInputBox(string Title)
    {
        return ShowInputBox(FormStartPosition.CenterScreen, Title, string.Empty, string.Empty);
    }
    public static string ShowInputBox(string Title, string Prompt)
    {
        return ShowInputBox(FormStartPosition.CenterScreen, Title, Prompt, string.Empty);
    }
    public static string ShowInputBox(string Title, string Prompt, string DefaultResponse)
    {
        return ShowInputBox(FormStartPosition.CenterScreen, Title, Prompt, DefaultResponse);
    }
// 呼叫
//           string inMsg = InputBox.ShowInputBox("請輸入管理員(admin)的密碼", string.Empty);
//            if (inMsg.Trim() != string.Empty)
//             {
//                 MessageBox.Show(inMsg);
//             }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com