启动findcontrol搜索时捕获事件

时间:2015-08-30 09:16:52

标签: c# visual-studio devexpress

我有一个带有find选项的devexpress gridcontrol。 我想在启动搜索findcontrol时捕获事件,以强制显示形式。

我发现了这个功能,但它只适用于lostFocus事件:

private void gridView1_LostFocus(object sender, EventArgs e)
{
    System.Reflection.PropertyInfo pFindPanel = gridView1.GetType().GetProperty("FindPanel", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
    FindControl findPanel = (FindControl)pFindPanel.GetValue(gridView1, null);

    Point pt = gridControl1.PointToClient(MousePosition);
    if ((!findPanel.Bounds.Contains(pt)))
    {
        MessageBox.Show("Do!");
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用ColumnView.ColumnFilterChanged活动。在这种情况下,您可以检查ColumnView.FindFilterText属性的值并在表单中显示该值 这是一个例子:

private void gridView1_ColumnFilterChanged(object sender, EventArgs e)
{
    string findFilter = gridView1.FindFilterText;

    if (!string.IsNullOrEmpty(findFilter))
        MessageBox.Show(findFilter);
}