02/10/2018, 11:32

[C#] Hướng dẫn chuyển window form thành hộp thoại Dialog Result trong C#

Bài viết hôm nay, mình sẽ tiếp tục hướng dẫn các bạn cách biến windows form thành một Dialog result C# . Trong ứng dụng các bạn thường sử dụng Dialog Result của windows. Nếu các bạn nào muốn tùy biến một form của mình thành 1 dialog result, các bạn có thể ...

Bài viết hôm nay, mình sẽ tiếp tục hướng dẫn các bạn cách biến windows form thành một Dialog result C#. Trong ứng dụng các bạn thường sử dụng Dialog Result của windows.

Nếu các bạn nào muốn tùy biến một form của mình thành 1 dialog result, các bạn có thể tham khảo bài viết dưới và thực hiện một cách dễ dàng.

Mình ví dụ: Hộp thoại Dialog Result trong C# thường xuất hiện chữ: Yes, No, Cancel...

Nếu bạn nào muốn việt hóa hay thay đổi icon của Dialog Message box, các bạn có thể thiết kế dễ dàng.

Giao diện demo ứng dụng Dialog Result C#:

diaglog result trong C#

Source code C#: 

Đầu tiên các bạn tạo 1 class với tên InputBox.cs như sau:


using System;
using System.Drawing;
using System.Windows.Forms;

namespace SoftCircuits
{
	class InputBox
	{

		public static DialogResult Show(string title, string promptText, ref string value)
		{
			Form form = new Form();
			Label label = new Label();
			TextBox textBox = new TextBox();
			Button buttonOk = new Button();
			Button buttonCancel = new Button();

			form.Text = title;
			label.Text = promptText;
			textBox.Text = value;

			buttonOk.Text = "OK";
			buttonCancel.Text = "Cancel";
			buttonOk.DialogResult = DialogResult.OK;
			buttonCancel.DialogResult = DialogResult.Cancel;

			label.SetBounds(9, 20, 372, 13);
			textBox.SetBounds(12, 36, 372, 20);
			buttonOk.SetBounds(228, 72, 75, 23);
			buttonCancel.SetBounds(309, 72, 75, 23);

			label.AutoSize = true;
			textBox.Anchor = textBox.Anchor | AnchorStyles.Right;
			buttonOk.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
			buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;

			form.ClientSize = new Size(396, 107);
			form.Controls.AddRange(new Control[] { label, textBox, buttonOk, buttonCancel });
			form.ClientSize = new Size(Math.Max(300, label.Right + 10), form.ClientSize.Height);
			form.FormBorderStyle = FormBorderStyle.FixedDialog;
			form.StartPosition = FormStartPosition.CenterScreen;
			form.MinimizeBox = false;
			form.MaximizeBox = false;
			form.AcceptButton = buttonOk;
			form.CancelButton = buttonCancel;

			DialogResult dialogResult = form.ShowDialog();
			value = textBox.Text;
			return dialogResult;
		}
	}
}

+ Tiếp đên form cần gọi Dialog ra bạn thực hiện lênh sau:

using System;
using System.Windows.Forms;
using SoftCircuits;

namespace TestInput
{
	public partial class Form1 : Form
	{
		public Form1()
		{
			InitializeComponent();
		}

		private void btnEdit_Click(object sender, EventArgs e)
		{
			string value = txtInputString.Text;

			if (InputBox.Show("Thông báo -- http://laptrinhvb.net",
				"&Nhập tên của bạn vào đây:", ref value) == DialogResult.OK)
			{
				txtInputString.Text = value;
			}
		}

		private void btnClose_Click(object sender, EventArgs e)
		{
			Close();
		}
	}
}

HAVE FUN :)

DOWNLOAD SOURCE

Tags: controlwinform
0