0

ネットワーク プリンター共有名のリストを含むリストビューがあります。つまり、\\server\printer1.pcl5 です。listview.selecteditems.tostring() を変換しようとすると、文字列の周りに他のデータが追加されるため機能しません。また、プリンター共有もc# では、名前を解決するために追加の \\ が必要です。

本当に 2 つの質問ですが、リストビュー項目をダブルクリックしたときに \\server\\printer1.pcl5 を \\\\server\\printer1.pcl5 に変換するにはどうすればよいですか

次に、SHAREDPRINTERNAMEGOESHEREのaddwindowsprinterconnectionビットにそれを挿入する方法は? listviewitem から適切に文字列に変換されないため、「ListViewItem {\\server\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");
        }
    }
4

1 に答える 1

1

選択したアイテムの価値をどのように取得しようとしていますか? これは機能しません:

listView1.SelectedItems.ToString()

上記のコードが行っているのは、オブジェクトの型の完全修飾名を取得することです。この場合、これは ListViewItems のコレクションです。

選択したアイテムの実際の値を取得するには、次の手順を実行する必要があります。

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

MultiSelect がオンになっている場合、上記のコードは選択項目の最初の項目のみを取得することに注意してください。

編集:

次に、追加のバックスラッシュを前に付けてプリンターを追加する場合:

objNetwork.AddWindowsPrinterConnection("SHAREDPRINTERNAMEGOESHERE", "HPLJ4100", "\\" + printerShareName);
于 2012-06-20T10:30:02.533 に答える