それを可能にするプロパティはありません。
いますが、次のコードでこれを行うことができます: 私は2つのボタンを作成し、設定エラーの1 setErrorButton
SetError
方法との明確なエラーのための第二ボタン、不要な方法CreatePictureEdit
private void setErrorButton_Click(object sender, EventArgs e)
{
SetError(textEdit1, "Error1");
textEdit1.Properties.MaskBoxPadding = new Padding(12, 0, 0, 0); //to put the cursor after the error image
}
private void clearErrorButto_Click(object sender, EventArgs e)
{
SetError(textEdit1, "");
textEdit1.Properties.MaskBoxPadding = new Padding(0, 0, 0, 0);
}
public static void SetError(Control ctrl, string errorText)
{
Form f = ctrl.FindForm();
if (errorText == string.Empty)
{
if (ctrl.Tag != null && ctrl.Tag is PictureEdit)
{
f.Controls.Remove(ctrl.Tag as PictureEdit);
return;
}
else
return;
}
PictureEdit edit = CreatePictureEdit(ctrl, errorText);
f.Controls.Add(edit);
ctrl.Tag = edit;
edit.BringToFront();
}
private static PictureEdit CreatePictureEdit(Control ctrl, string errorText)
{
PictureEdit edit = new PictureEdit();
Image image = BaseEdit.DefaultErrorIcon;
edit.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
edit.BackColor = Color.Transparent;
edit.Image = image;
edit.ToolTip = errorText;
edit.ToolTipIconType = DevExpress.Utils.ToolTipIconType.Error;
edit.Properties.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Squeeze;
edit.Location = new Point(ctrl.Bounds.Left + 3, ctrl.Bounds.Y + 1);
edit.Size = new Size(image.Width, ctrl.Bounds.Height - 2);
edit.BackColor = Color.White;
return edit;
}
あなたが変更することができますTextEdit
でアイコンの位置が正しく調整されていない場合は、画像の位置プロパティ値とサイズ