Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@150 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
8 changed files with 253 additions and 9 deletions
@ -0,0 +1,151 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
|
||||||
|
// <version value="$version"/>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Drawing; |
||||||
|
using System.Windows.Forms; |
||||||
|
|
||||||
|
namespace ICSharpCode.Core |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Description of InputBox.
|
||||||
|
/// </summary>
|
||||||
|
internal class InputBox : System.Windows.Forms.Form |
||||||
|
{ |
||||||
|
private System.Windows.Forms.Label label; |
||||||
|
private System.Windows.Forms.Button cancelButton; |
||||||
|
private System.Windows.Forms.TextBox textBox; |
||||||
|
private System.Windows.Forms.Button acceptButton; |
||||||
|
|
||||||
|
public InputBox(string text, string caption, string defaultValue) |
||||||
|
{ |
||||||
|
//
|
||||||
|
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||||
|
//
|
||||||
|
InitializeComponent(); |
||||||
|
|
||||||
|
text = StringParser.Parse(text); |
||||||
|
this.Text = StringParser.Parse(caption); |
||||||
|
acceptButton.Text = StringParser.Parse("${res:Global.OKButtonText}"); |
||||||
|
cancelButton.Text = StringParser.Parse("${res:Global.CancelButtonText}"); |
||||||
|
|
||||||
|
Size size; |
||||||
|
using (Graphics g = this.CreateGraphics()) { |
||||||
|
Rectangle screen = Screen.PrimaryScreen.WorkingArea; |
||||||
|
SizeF sizeF = g.MeasureString(text, label.Font, screen.Width - 20); |
||||||
|
size = sizeF.ToSize(); |
||||||
|
size.Width += 4; |
||||||
|
} |
||||||
|
if (size.Width < 200) |
||||||
|
size.Width = 200; |
||||||
|
Size clientSize = this.ClientSize; |
||||||
|
clientSize.Width += size.Width - label.Width; |
||||||
|
clientSize.Height += size.Height - label.Height; |
||||||
|
this.ClientSize = clientSize; |
||||||
|
label.Text = text; |
||||||
|
textBox.Text = defaultValue; |
||||||
|
this.DialogResult = DialogResult.Cancel; |
||||||
|
} |
||||||
|
|
||||||
|
#region Windows Forms Designer generated code
|
||||||
|
/// <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.acceptButton = new System.Windows.Forms.Button(); |
||||||
|
this.textBox = new System.Windows.Forms.TextBox(); |
||||||
|
this.cancelButton = new System.Windows.Forms.Button(); |
||||||
|
this.label = new System.Windows.Forms.Label(); |
||||||
|
this.SuspendLayout(); |
||||||
|
//
|
||||||
|
// acceptButton
|
||||||
|
//
|
||||||
|
this.acceptButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); |
||||||
|
this.acceptButton.FlatStyle = System.Windows.Forms.FlatStyle.System; |
||||||
|
this.acceptButton.Location = new System.Drawing.Point(176, 114); |
||||||
|
this.acceptButton.Name = "acceptButton"; |
||||||
|
this.acceptButton.TabIndex = 2; |
||||||
|
this.acceptButton.Text = "OK"; |
||||||
|
this.acceptButton.Click += new System.EventHandler(this.AcceptButtonClick); |
||||||
|
//
|
||||||
|
// textBox
|
||||||
|
//
|
||||||
|
this.textBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) |
||||||
|
| System.Windows.Forms.AnchorStyles.Right))); |
||||||
|
this.textBox.Location = new System.Drawing.Point(8, 86); |
||||||
|
this.textBox.Name = "textBox"; |
||||||
|
this.textBox.Size = new System.Drawing.Size(318, 20); |
||||||
|
this.textBox.TabIndex = 1; |
||||||
|
this.textBox.Text = ""; |
||||||
|
//
|
||||||
|
// cancelButton
|
||||||
|
//
|
||||||
|
this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); |
||||||
|
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; |
||||||
|
this.cancelButton.FlatStyle = System.Windows.Forms.FlatStyle.System; |
||||||
|
this.cancelButton.Location = new System.Drawing.Point(256, 114); |
||||||
|
this.cancelButton.Name = "cancelButton"; |
||||||
|
this.cancelButton.TabIndex = 3; |
||||||
|
this.cancelButton.Text = "Cancel"; |
||||||
|
this.cancelButton.Click += new System.EventHandler(this.CancelButtonClick); |
||||||
|
//
|
||||||
|
// label
|
||||||
|
//
|
||||||
|
this.label.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) |
||||||
|
| System.Windows.Forms.AnchorStyles.Left) |
||||||
|
| System.Windows.Forms.AnchorStyles.Right))); |
||||||
|
this.label.Location = new System.Drawing.Point(8, 8); |
||||||
|
this.label.Name = "label"; |
||||||
|
this.label.Size = new System.Drawing.Size(328, 74); |
||||||
|
this.label.TabIndex = 0; |
||||||
|
this.label.UseMnemonic = false; |
||||||
|
//
|
||||||
|
// InputBox
|
||||||
|
//
|
||||||
|
this.AcceptButton = this.acceptButton; |
||||||
|
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); |
||||||
|
this.CancelButton = this.cancelButton; |
||||||
|
this.ClientSize = new System.Drawing.Size(338, 144); |
||||||
|
this.Controls.Add(this.textBox); |
||||||
|
this.Controls.Add(this.label); |
||||||
|
this.Controls.Add(this.cancelButton); |
||||||
|
this.Controls.Add(this.acceptButton); |
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; |
||||||
|
this.MaximizeBox = false; |
||||||
|
this.MinimizeBox = false; |
||||||
|
this.Name = "InputBox"; |
||||||
|
this.ShowInTaskbar = false; |
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; |
||||||
|
this.Text = "InputBox"; |
||||||
|
this.ResumeLayout(false); |
||||||
|
} |
||||||
|
#endregion
|
||||||
|
|
||||||
|
void CancelButtonClick(object sender, System.EventArgs e) |
||||||
|
{ |
||||||
|
result = null; |
||||||
|
this.Close(); |
||||||
|
} |
||||||
|
|
||||||
|
void AcceptButtonClick(object sender, System.EventArgs e) |
||||||
|
{ |
||||||
|
this.DialogResult = DialogResult.OK; |
||||||
|
result = textBox.Text; |
||||||
|
this.Close(); |
||||||
|
} |
||||||
|
|
||||||
|
string result; |
||||||
|
|
||||||
|
public string Result { |
||||||
|
get { |
||||||
|
return result; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue