Devexpress DevXPress RepositoryItemButtonEdit

Devexpress DevXPress RepositoryItemButtonEdit,devexpress,Devexpress,单击ButtonEdit的省略号按钮时,在ButtonEdit的ButtonClick事件中,我启动另一个表单,用户可以从中进行选择 该查找表单通知我的原始表单所选的值 当我的原始表单学习所选的值时,它使用SetCellValue方法设置与ButtonEdit关联的单元格的值。但是,在单元格失去焦点之前,该值不会显示。当ButtonEdit作为其在位行的单元格仍有焦点时,是否有任何方法使该值显示?设置视图.ActiveEditor.EditValue处理ButtonClick事件时,传递给事件处

单击ButtonEdit的省略号按钮时,在ButtonEdit的ButtonClick事件中,我启动另一个表单,用户可以从中进行选择

该查找表单通知我的原始表单所选的值


当我的原始表单学习所选的值时,它使用SetCellValue方法设置与ButtonEdit关联的单元格的值。但是,在单元格失去焦点之前,该值不会显示。当ButtonEdit作为其在位行的单元格仍有焦点时,是否有任何方法使该值显示?

设置
视图.ActiveEditor.EditValue
处理ButtonClick事件时,传递给事件处理程序的sender参数表示必须更改其值的编辑器实例。因此,我想发布一个额外的解决方案,展示如何设置编辑器的值:

private void repositoryItemButtonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) {
    DevExpress.XtraEditors.ButtonEdit edit = sender as DevExpress.XtraEditors.ButtonEdit;
    edit.EditValue = SomeValue;
}

处理ButtonClick事件时,传递给事件处理程序的sender参数表示必须更改其值的编辑器实例。因此,我想发布一个额外的解决方案,展示如何设置编辑器的值:

private void repositoryItemButtonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) {
    DevExpress.XtraEditors.ButtonEdit edit = sender as DevExpress.XtraEditors.ButtonEdit;
    edit.EditValue = SomeValue;
}

第二种解决方案行不通。为什么?因为在ButtonClick事件中,我启动了另一个窗体作为对话框(“查找窗体”)。当用户在查找表单上做出选择时,它会引发我的原始表单正在侦听的事件。我必须在LookupItemSelected事件中设置编辑值,而不是在ButtonClick事件中。如果可能,我会选择由DevXPress团队发布的解决方案。RepositoryItem应该始终具有“OwnerEdit”作为事件的发送者,但编辑并不总是在“视图”中。我还希望查找对话框的选定值具有属性,而不是依赖于其中的事件。例如,System.Windows.Forms.OpenFileDialog有其属性“FileName”。第二种解决方案不起作用。为什么?因为在ButtonClick事件中,我启动了另一个窗体作为对话框(“查找窗体”)。当用户在查找表单上做出选择时,它会引发我的原始表单正在侦听的事件。我必须在LookupItemSelected事件中设置编辑值,而不是在ButtonClick事件中。如果可能,我会选择由DevXPress团队发布的解决方案。RepositoryItem应该始终具有“OwnerEdit”作为事件的发送者,但编辑并不总是在“视图”中。我还希望查找对话框的选定值具有属性,而不是依赖于其中的事件。例如,System.Windows.Forms.OpenFileDialog有其属性“FileName”。看起来很有希望。我会回来报到的。谢谢你,这很有希望。我会回来报到的。谢谢