Perić Željko
Привет,
это простое приложение win form, написанное в ide sharp Development, C# .Net 4. o.
он состоит из основной формы, в которой находятся эти элементы управления :
метка 1, содержащая сообщение "введенный код доступа"
label2, содержащий сообщение "доступ разрешен" или "доступ запрещен"
textBox1, переименованный в "пароль" и установленный только для чтения
button1, со свойством text, установленным в " ok"
и Логинформ в котором находятся эти элементы управления :
textbox1, переименованный в " пароль"
кнопка button1 , при этом свойства text значение "продолжить"
Когда пользователь запускает программу, сначала отображается диалоговое окно входа в систему, ожидающее ввода пароля пользователем. Когда вводится "пароль", диалоговое окно формы входа закрывается, а основная форма отображается и становится активной формой приложения.
Если введенный пароль недействителен, то метка 2 изменится на сообщение" Доступ запрещен".,
или, если введенный пароль верен, метка2 изменится на сообщение "доступ разрешен", а текстовое свойство button1 изменится на" Продолжить " или
"пробовать снова".
Когда пользователь "повторит попытку" ввести пароль, снова появится диалоговое окно входа в систему.
Основная форма все еще видна, но не активна и недоступна, когда пользователь вводит ее
новый пароль или закрывает Диалог входа в систему.
Вот весь открытый исходный код, необходимый для применения. Обратите внимание .Чистая версия 4.0.
Форму mainform.в CS*
/*
* Created by SharpDevelop.c# , .Net Framework 4.0
* User: Perić Željko
* Date: 28.9.2012
* Time: 11:53
*
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace Log_In_Example
{
/// <summary>
/// Description of MainForm.
/// Show Log In Dialog Form and check password
/// entered by user.
/// </summary>
public partial class MainForm : Form
{
public MainForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
//
// call ShowLogInDialog()
//
ShowLogInDialog();
}
void ShowLogInDialog()
{
//
// show Log In Dialog
//
// correct password
const string correct_ID = "1234567890";
//
LogInForm LogCheck = new LogInForm();
//
// ShowDialog() is used instead of Show()
// because this way dialog stays active on top of all others
// forms and only accessible Form of this application.
//
LogCheck.ShowDialog();
//
// set value of password.Text (textBox1) of Main Form,
// to entered value in LogInForm.
//
password.Text = LogCheck.password.Text;
if (correct_ID == password.Text)
{
label2.Text = "Access Granted";
button1.Text ="continue";
}
else
{
label2.Text = "Access Denied";
button1.Text ="try again";
}
//
LogCheck.Dispose();
Refresh();
}
void Button1Click(object sender, EventArgs e)
{
//
// If Entered "password" was ok close Main Form
// else try again to enter password
// here you can count how many times user made error
// and prevent another try.
// Wach out where You are going to declare variable for that.
//
if (button1.Text == "continue")
{
Close();
}
else if (button1.Text == "try again")
{
ShowLogInDialog();
}
}
}
}
MainForm. Designer. cs
/*
* Created by SharpDevelop.
* User: Perić Željko
* Date: 28.9.2012
* Time: 11:53
*
*/
namespace Log_In_Example
{
partial class MainForm
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
this.password = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.label2 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// password
//
this.password.Location = new System.Drawing.Point(11, 39);
this.password.MaxLength = 10;
this.password.Name = "password";
this.password.ReadOnly = true;
this.password.Size = new System.Drawing.Size(268, 31);
this.password.TabIndex = 10;
this.password.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label1
//
this.label1.Font = new System.Drawing.Font("Georgia", 15.75F, ((System.Drawing.FontStyle)(((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic)
| System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.label1.Location = new System.Drawing.Point(12, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(267, 27);
this.label1.TabIndex = 1;
this.label1.Text = "Entered Access Code";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 133);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(267, 37);
this.button1.TabIndex = 2;
this.button1.Text = "ok";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.Button1Click);
//
// label2
//
this.label2.Location = new System.Drawing.Point(12, 93);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(267, 27);
this.label2.TabIndex = 3;
this.label2.Text = "Access Code";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// MainForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(292, 175);
this.Controls.Add(this.label2);
this.Controls.Add(this.button1);
this.Controls.Add(this.label1);
this.Controls.Add(this.password);
this.Font = new System.Drawing.Font("Georgia", 15.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.MaximizeBox = false;
this.Name = "MainForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = " Log In Example";
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox password;
}
}
LoginForm, который будет.в CS
/*
* Created by SharpDevelop. C#, ,Net Framework 4.0
* User: Perić Željko
* Date: 28.9.2012
* Time: 11:54
*
*/
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Log_In_Example
{
/// <summary>
/// Dialog for accepting Log ID from user
/// </summary>
public partial class LogInForm : Form
{
public LogInForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
}
void Button1Click(object sender, EventArgs e)
{
//
// Close Log In Form
//
Close();
}
void PasswordKeyPress(object sender, KeyPressEventArgs e)
{
//
// If user press "Enter" inside
// password text box LogIn Form Closes
//
if (e.KeyChar == (char) Keys.Enter)
{
Close();
}
}
}
}
LoginForm, который будет.Дизайнер.в CS*
/*
* Created by SharpDevelop.
* User: Perić Željko
* Date: 28.9.2012
* Time: 11:54
*
*/
namespace Log_In_Example
{
partial class LogInForm
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
pr