2012-05-05 100 views
0

我已經找到了解決方案中的一個問題,但在VB.NET中,我不知道如何將其轉換爲C#,我試着用它在線工具,但它不能確定事件被使用或類似的東西。如果有兩種語言都有savy,也許你可以幫我弄清楚它的翻譯?這裏是VB代碼我如何將其轉換爲C#

Private Sub XrLabel1_BeforePrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs) 
Handles XrLabel1.BeforePrint 

    CType(sender, XRLabel).Tag = GetCurrentColumnValue("ID") 

End Sub 



Private Sub XrLabel1_HtmlItemCreated(ByVal sender As Object, ByVal e As 
DevExpress.XtraReports.UI.HtmlEventArgs) Handles XrLabel1.HtmlItemCreated 

    e.ContentCell.InnerHtml = 
String.Format("<a href=http://www.testarea.com/property.aspx?id={1}>{0}</a>", e.ContentCell.InnerText, 
e.Data.Tag) 

PS:我試圖將其轉換本網站http://www.developerfusion.com/tools/convert/vb-to-csharp/

原始代碼在這裏找到http://www.devexpress.com/Support/Center/KB/p/A1107.aspx

+0

唯一的「挑戰」將不得不訂閱事件。其餘的只是語法。 – Marlon

+0

你最好的選擇是谷歌的函數名稱:_BeforePrint和_HtmlItemCreated。 DevExpress API文檔爲這些方法提供了示例C#實現。防爆。 http://documentation.devexpress.com/#XtraReports/DevExpressXtraReportsUIXRControl_BeforePrinttopic –

+0

有一個非常好的轉換工具http://www.developerfusion.com/tools/convert/vb-to-csharp/ – HW90

回答

3
private void XrLabel1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) 
{ 
    ((XRLabel)sender).Tag = GetCurrentColumnValue("ID"); 
} 

private void XrLabel1_HtmlItemCreated(object sender, DevExpress.XtraReports.UI.HtmlEventArgs e) 
{ 
    e.ContentCell.InnerHtml = String.Format("<a href=http://www.testarea.com/property.aspx?id={1}>{0}</a>", e.ContentCell.InnerText, e.Data.Tag); 
} 

但這裏的技巧是,你必須請在某處註冊該事件,因此在初始化時需要執行此操作:

XrLabel1.BeforePrint += XrLabel1_BeforePrint; 
XrLabel1.HtmlItemCreate += XrLabel1_HtmlItemCreated; 
+0

我不明白爲什麼它不採取這一行e.Data.Tag :(它把一個紅色的下劃線 – user710502

+0

你能告訴我錯誤是什麼意思嗎?這是你需要顯示的關鍵事情之一,如果你問一個關於具體的錯誤 – Marlon

+0

我發現這個問題,我們發現的dev是一個新版本,我不得不使用e.Brick.Value。謝謝你的幫助,我將被卡在這不會爲你的幫助:) – user710502