Пример #1
0
        /// <summary>
        /// 释放由 System.Windows.Forms.InputBoxResult 使用的所有资源。
        /// </summary>
        public void Dispose()
        {
            if (this._IsDisposed)
            {
                return;
            }
            this._IsDisposed = true;

            if (this._Form != null && !this._Form.IsDisposed)
            {
                try
                {
                    this._Form.Dispose();
                }
                catch (Exception)
                {
                }
            }

            this._Form = null;

            if (this._Editors != null)
            {
                this._Editors.Clear();
            }

            this._Editors = null;
        }
Пример #2
0
 /// <summary>
 /// 显示一个输入框。
 /// </summary>
 /// <param name="owner">控件拥有者。</param>
 /// <param name="parameters">输入框参数。</param>
 /// <returns>返回输入框的值。</returns>
 public static InputBoxResult InputBox(this Control owner, InputBoxParameters parameters)
 {
     if (owner != null && owner.InvokeRequired)
     {
         return((InputBoxResult)owner.Invoke(new Func <Control, InputBoxParameters, InputBoxResult>(InputBox), owner, parameters));
     }
     else
     {
         var form = new InputBoxForm(owner, parameters);
         if (owner == null)
         {
             return(new InputBoxResult(parameters.Editors, form));
         }
         var ownerForm = owner.FindForm();
         ownerForm.Activate();
         var r = new InputBoxResult(parameters.Editors, form);
         ownerForm.Activate();
         return(r);
     }
 }
Пример #3
0
 /// <summary>
 /// 初始化 System.Windows.Forms.InputBoxResult 的新实例。
 /// </summary>
 /// <param name="editors">可输入控件的集合。</param>
 /// <param name="form">输入框的窗体。</param>
 internal InputBoxResult(List <Control> editors, InputBoxForm form)
 {
     this._Editors = editors;
     this._Form    = form;
 }
Пример #4
0
	}; // class InputBoxForm

	// Pop up an input box and ask the user a question.
	public static String InputBox
				(String Prompt,
				 [Optional] [DefaultValue("")] String Title,
				 [Optional] [DefaultValue("")] String DefaultResponse,
				 [Optional] [DefaultValue(-1)] int XPos,
				 [Optional] [DefaultValue(-1)] int YPos)
			{
				// Consult the host to find the input box's parent window.
				IVbHost host;
				IWin32Window parent;
				host = HostServices.VBHost;
				if(host != null)
				{
					parent = host.GetParentWindow();
				}
				else
				{
					parent = null;
				}

				// Pop up the input box and wait for the response.
				InputBoxForm form = new InputBoxForm
					(Prompt, Title, DefaultResponse, XPos, YPos);
				DialogResult result = form.ShowDialog(parent as Form);
				String resultString = form.Result;
				form.DisposeDialog();

				// Return the result to the caller.
				if(result == DialogResult.OK)
				{
					return resultString;
				}
				else
				{
					return String.Empty;
				}
			}
        static public string Show(string Prompt, string Title, string Default, bool UseSystemPasswordChar)
        {
            InputBoxForm frmInputDialog = new InputBoxForm();
            frmInputDialog.FormCaption = Title;
            frmInputDialog.FormPrompt = Prompt;
            frmInputDialog.Value = Default;
            frmInputDialog.UseSystemPasswordChar = UseSystemPasswordChar;

            return frmInputDialog.ShowDialog() == DialogResult.OK ? frmInputDialog.Value : null;
        }
Пример #6
0
 /// <summary>
 /// 显示一个输入框。
 /// </summary>
 /// <param name="owner">控件拥有者。</param>
 /// <param name="parameters">输入框参数。</param>
 /// <returns>返回输入框的值。</returns>
 public static InputBoxResult InputBox(this Control owner, InputBoxParameters parameters)
 {
     if (owner != null && owner.InvokeRequired)
     {
         return (InputBoxResult)owner.Invoke(new Func<Control, InputBoxParameters, InputBoxResult>(InputBox), owner, parameters);
     }
     else
     {
         var form = new InputBoxForm(owner, parameters);
         if (owner == null)
         {
             return new InputBoxResult(parameters.Editors, form);
         }
         var ownerForm = owner.FindForm();
         ownerForm.Activate();
         var r = new InputBoxResult(parameters.Editors, form);
         ownerForm.Activate();
         return r;
     }
 }