动态创建一个按钮并添加 EventHandler()
Create dynamically a button and add EventHandler()
我正在将 C# WinForm 应用程序迁移到 VB.Net。
在部分代码中定义了一个按钮并将事件处理程序添加到方法中。
ToolStripButton newExportButton = new ToolStripButton();
newExportButton = new ToolStripButton("", null, new EventHandler(ExportReport));
private void ExportReport(Object sender, EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.DefaultExt = "pdf";
saveFileDialog.Filter = Visor.ObtenerFiltroDeExtensiones();
if (saveFileDialog.ShowDialog() == DialogResult.OK && Path.HasExtension(saveFileDialog.FileName))
{
ReportDocument reportDocument = this.VisorReporte.ReportSource as ReportDocument;
reportDocument.ExportToDisk(dicExtensiones[Path.GetExtension(saveFileDialog.FileName)], saveFileDialog.FileName);
}
}
当我尝试迁移到 Vb.Net 时,我在迁移 EventHandler 时遇到了问题。
我看过here但是它不符合我的需要。我没有定义任何特定事件,例如 (click)
我已经把那行改成了这一行
newExportButton = New ToolStripButton("", Nothing, New EventHandler(ExportarReporte))
我有一个错误提示 AddressOf
丢失。
如何将事件处理程序附加到该按钮以调用特定方法?
谢谢
在 VB.NET 中,直接引用方法时必须使用 AddressOf
operator。它用于创建相关方法的委托。
New EventHandler(...)
不是必需的,因为如果签名正确,委托将隐式转换为事件处理程序。
这应该有效:
newExportButton = New ToolStripButton("", Nothing, AddressOf ExportarReporte)
我正在将 C# WinForm 应用程序迁移到 VB.Net。
在部分代码中定义了一个按钮并将事件处理程序添加到方法中。
ToolStripButton newExportButton = new ToolStripButton();
newExportButton = new ToolStripButton("", null, new EventHandler(ExportReport));
private void ExportReport(Object sender, EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.DefaultExt = "pdf";
saveFileDialog.Filter = Visor.ObtenerFiltroDeExtensiones();
if (saveFileDialog.ShowDialog() == DialogResult.OK && Path.HasExtension(saveFileDialog.FileName))
{
ReportDocument reportDocument = this.VisorReporte.ReportSource as ReportDocument;
reportDocument.ExportToDisk(dicExtensiones[Path.GetExtension(saveFileDialog.FileName)], saveFileDialog.FileName);
}
}
当我尝试迁移到 Vb.Net 时,我在迁移 EventHandler 时遇到了问题。
我看过here但是它不符合我的需要。我没有定义任何特定事件,例如 (click)
我已经把那行改成了这一行
newExportButton = New ToolStripButton("", Nothing, New EventHandler(ExportarReporte))
我有一个错误提示 AddressOf
丢失。
如何将事件处理程序附加到该按钮以调用特定方法?
谢谢
在 VB.NET 中,直接引用方法时必须使用 AddressOf
operator。它用于创建相关方法的委托。
New EventHandler(...)
不是必需的,因为如果签名正确,委托将隐式转换为事件处理程序。
这应该有效:
newExportButton = New ToolStripButton("", Nothing, AddressOf ExportarReporte)