如何在C#中获取桌面应用程序中的FindControl方法

时间:2010-07-13 10:33:46

标签: c#

斐伊川

我无法找到FindControl Method.this是事件“_CellEndEdit(object sender,DataGridViewCellEventArgs e)”,其中Iam试图访问findControl ....但我没有看到那个方法...请告诉我如何我可以访问这种方法......

3 个答案:

答案 0 :(得分:0)

我相信FindControlControl命名空间中System.Web.UI类的方法。在WinForms中,您不需要这样做。

你想找到什么样的控制?它是网格编辑控件吗?

您是否会使用此控件来获取单元格值?

更新:单元格值呈现在单元格本身上,不需要找到单元格下面的控件。事件参数包含单元格本身,值本身或RowIndexColumnIndex。使用后者,您可以从网格中获取单元格并查看其.Value属性:

DataGridViewCell c = grid[colIndex, rowIndex];

另请注意,网格上有一个CellValidating可取消事件,听起来更符合您的需求。

答案 1 :(得分:0)

FindControl方法仅适用于Control类及其后代的实例。所以你可以在

这样的表格上调用它
this.FindControl(...);

修改
至于你的评论:

  1. _CellEndEdit事件是进行此类验证的错误位置。您通常会实施_CellValidating活动。
  2. 如果必须使用_CellEndEdit验证输入,您可以尝试使用EditingControl的{​​{1}}属性。如果单元格处于编辑模式,则应返回单元格的当前编辑控件。但是,在编辑控件已被销毁之后,可能会将DataGridView事件称为
  3. 传递给_CellEndEdit的{​​{1}}对象允许您获取输入的值并设置DataGridViewCellValidatingEventArgs属性(可能还有单元格错误),以便更改被取消

答案 2 :(得分:0)

您可以使用Control.ControlCollection.Find方法。

即:

this.Controls.Find()