Подсказка не отображается для вложенного контроля - PullRequest
1 голос
/ 12 августа 2010

У меня есть следующий фрагмент кода, который прекрасно работает во всех, кроме одного экземпляра.

private void tbxLastName_EditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e)
{
    GetRemainingChars(sender);
}

public void GetRemainingChars(object sender)
{
    var control = sender as TextEdit;
    var maxChars = control.Properties.MaxLength;
    tipCharacterCounter.Show(control.Text.Length + "/" + maxChars, this, control.Location.X, control.Location.Y - control.Height);
}

Я просто повторяю этот процесс с любого textbox. К сожалению, у меня есть один более сложный элемент управления, и я не могу заставить его работать. Часть Event выглядит следующим образом ->

private void memDirectionsToAddress_Popup(object sender, EventArgs e)
{
    MemoExPopupForm popupForm = (sender as DevExpress.Utils.Win.IPopupControl).PopupWindow as MemoExPopupForm;
    MemoEdit meDirections = popupForm.Controls[2] as MemoEdit;
    meDirections.EditValueChanging += new DevExpress.XtraEditors.Controls.ChangingEventHandler(meDirections_EditValueChanging);
}

void meDirections_EditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e)
{
    GetRemainingChars(sender);
}

Что я не понимаю, так это то, что если я заменю часть tipCharacterCounter, скажем, обновляя метку, она будет работать нормально. Это похоже на то, что всплывающая подсказка скрыта или что-то в этом роде, но я попытался набрать Show() разных точек безрезультатно.

Идеи

1 Ответ

1 голос
/ 12 августа 2010

Какую версию DXPerience вы используете? Я попробовал следующий код, используя DXperience 10.1.5, и он отлично работает здесь:

private void memoExEdit1_Popup(object sender, EventArgs e) {
    MemoExPopupForm popupForm = (sender as DevExpress.Utils.Win.IPopupControl).PopupWindow as MemoExPopupForm;
    MemoEdit meDirections = popupForm.Controls[2] as MemoEdit;
    meDirections.EditValueChanging += new DevExpress.XtraEditors.Controls.ChangingEventHandler(meDirections_EditValueChanging);
}

void meDirections_EditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e) {
    GetRemainingChars(sender);
}

public void GetRemainingChars(object sender) {
    TextEdit control = sender as TextEdit;
    int maxChars = control.Properties.MaxLength;
    tipCharacterCounter.ShowHint(control.Text.Length + "/" + maxChars, control, ToolTipLocation.RightBottom);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...