2012-06-20 62 views
0

我有一個列表視圖與網絡打印機共享名稱列表,即\\ server \ printer1.pcl5 如果我嘗試轉換listview.selecteditems.tostring()它添加其他數據字符串,因此不起作用,同樣c#中的打印機共享也需要額外的\\來解析名稱。c#listview字符串提取映射打印機

2個問題真的,我怎麼轉換\\服務器\\ printer1.pcl5到\\\\服務器\\ printer1.pcl5當在ListView項雙擊

再怎麼我插入到addwindowsprinterconnection位在哪裏SHAREDPRINTERNAMEGOESHERE?因爲它不從的ListViewItem轉換爲字符串正確它存儲爲「ListViewItem的{\\服務器\ printer1.pcl5}」

private void ListView1_DoubleClick(object sender, EventArgs e) 
    { 

     foreach (ListViewItem item in listView1.SelectedItems) 
     { 

      WshNetwork objNetwork = new WshNetwork(); 
      objNetwork.AddWindowsPrinterConnection("SHAREDPRINTERNAMEGOESHERE", "HPLJ4100", "\\\\SERVER\\main printer"); 
     } 
    } 

回答

1

你如何試圖讓所選項目的價值?這是行不通的:

listView1.SelectedItems.ToString() 

什麼上面的代碼做的是越來越對象,在這種情況下是ListViewItems集合類型的全名。

獲取所選項目的實際價值,你必須去:記住

string printerShareName = listView1.SelectedItems[0].Text; 

飼養,如果你有多重選擇打開,上面的代碼只會選擇的第一個項目。

編輯:

然後,如果你想與前綴額外的反斜槓添加打印機:

objNetwork.AddWindowsPrinterConnection("SHAREDPRINTERNAMEGOESHERE", "HPLJ4100", "\\" + printerShareName); 
+0

這十分感謝(多選關),這似乎映射,即使我只是在進入它的打印機單反斜槓也很好 – meeeeeeeeee