繁体   English   中英

映射打印机的c#listview字符串提取

[英]c# listview string extraction for mapping printers

我有一个带有网络打印机共享名列表的listview,即\\\\ 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");
        }
    }

您如何尝试获得所选项目的价值? 这将不起作用:

listView1.SelectedItems.ToString()

上面的代码正在做的是获取Object类型的完全限定名称,在这种情况下,该名称是ListViewItems的集合。

要获取所选项目的实际价值,您必须:

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

请记住,如果您已打开MultiSelect,则上面的代码将仅获得选择的第一项。

编辑:

然后,如果要添加带有其他反斜杠前缀的打印机:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM