Ejemplo n.º 1
0
		//-------------------------------------------------------------------------------------
		#region << Static Methods >>
		/// <summary>
		/// Отображает контрол.
		/// </summary>
		/// <param name="parent">Родительский контрол, относительно которого эмулируется модальность.</param>
		/// <param name="caption">Текст заголовка контрола.</param>
		/// <param name="image">Изображение заголовка контрола.</param>
		/// <param name="text">Основной текст контрола.</param>
		/// <param name="value">Объект, содержащий значение ввода.</param>
		/// <param name="format">Формат данных ввода.</param>
		/// <param name="formatException">Строка символов исключений формата ввода.</param>
		/// <returns>DialogResult.OK или DialogResult.Cancel</returns>
		public static DialogResult Show(Control parent, ref string value,
										string caption = "Ввод значения",
										string text = "Введите новое значение:",
										Image image = null,
										TextBoxFormat format = TextBoxFormat.NotSet,
										string formatException = "")
		{
			SimModalInputBox box = new SimModalInputBox();
			box.CaptionText = caption;
			box.CaptionImage = image;
			box.Text = text;
			box.Value = value;
			box.ValueFormat = format;
			box.ValueFormatException = formatException;
			box.Show(parent);
			while (box.result == DialogResult.None && box.Visible)
			{
				if (box.IsDisposed || parent.IsDisposed || box.FindForm() == null)
					break;
				Application.DoEvents();
				Thread.Sleep(50);
			}
			if (box.result == DialogResult.OK)
				value = box.Value;
			return box.result == DialogResult.None ? DialogResult.Cancel : box.result;
		}
Ejemplo n.º 2
0
		//-------------------------------------------------------------------------------------
		private void ftgvView_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
		{
			try
			{
				if(e.RowIndex == -1 || e.ColumnIndex == -1)
					return;
				if(ftgvView.CurrentRow == null || e.RowIndex != ftgvView.CurrentRow.Index)
					ftgvView.CurrentCell = ftgvView[e.ColumnIndex, e.RowIndex];
				ViewItem vi = (ViewItem)ftgvView.Rows[e.RowIndex].GetData();
				if(vi.mi == null || (vi.mi.MemberType == MemberTypes.Property && ((PropertyInfo)vi.mi).CanWrite == false))
					return;
				SimModalInputBox box = new SimModalInputBox();
				box.Parent = PanelBack;
				box.DialogClosed += new DialogClosedEventHandler(ObjectEdit_DialogClosed);
				box.CaptionImage = global::Sim.AdminForms.Properties.Resources.Object;
				box.CaptionText = "Изменение значения объекта";
				box.Text = "Введите текстовый эквивалент значения объекта или [объект из хранилища]:";
				box.Value = vi.Value.ToString();
				box.Tag = vi;
				box.Show();
			}
			catch(Exception Err)
			{
				ModalErrorBox.Show(Err, PanelBack);
			}
		}