C# 打开文档时如何消除空白

C# 打开文档时如何消除空白,c#,C#,我制作了一个程序,人们可以在网络驱动器上存储文档。 为了查看或打开数据,我使用了一个数据网格,人们可以在其中双击数据,它应该使用windows中选择的标准程序打开。但它不起作用。仅当文档存储在本地计算机上而不是网络驱动器上时,它才起作用 List<ZeichnungInDB> selectedItemsList = dataOutOfDb.SelectedItems.Cast<ZeichnungInDB>().ToList(); if(selectedItemsList.

我制作了一个程序,人们可以在网络驱动器上存储文档。 为了查看或打开数据,我使用了一个数据网格,人们可以在其中双击数据,它应该使用windows中选择的标准程序打开。但它不起作用。仅当文档存储在本地计算机上而不是网络驱动器上时,它才起作用

List<ZeichnungInDB> selectedItemsList = dataOutOfDb.SelectedItems.Cast<ZeichnungInDB>().ToList();
if(selectedItemsList.Count > 0)
{
    Process.Start(autovuePath[0], @"\\192.168.100.4\\DMS\\Daten\\" + selectedItemsList[0].Dateiname );
    //Process.Start(@"\\192.168.100.4\\DMS\\Daten\\" + selectedItemsList[0].Dateiname);
}
当我试图用标准程序打开文档时,当名称中有一些空格时,程序崩溃。如果我使用AutoVue,我可以在没有空格的情况下打开数据,但如果有空格,则表示找不到数据

我已经检查了网络驱动器的用户规则,没有发生任何此故障


有人能为我的问题找到解决方案吗?或者我应该简单地说,不接受名称中的任何空格,我如何解决问题,我可以用标准程序打开不同类型的文档?

您在这里问了很多问题,让我们试着一次回答一个问题

仅当文档存储在本地计算机上而不是网络驱动器上时,它才起作用

List<ZeichnungInDB> selectedItemsList = dataOutOfDb.SelectedItems.Cast<ZeichnungInDB>().ToList();
if(selectedItemsList.Count > 0)
{
    Process.Start(autovuePath[0], @"\\192.168.100.4\\DMS\\Daten\\" + selectedItemsList[0].Dateiname );
    //Process.Start(@"\\192.168.100.4\\DMS\\Daten\\" + selectedItemsList[0].Dateiname);
}
您是否尝试在应用程序外部打开命令行,以查看是否可以通过这种方式从网络打开文件?在进一步阅读之前,请确保这是有效的。 打开命令提示符并立即执行此操作

Process.Start(autovuePath[0], @"\\192.168.100.4\\DMS\\Daten\\" + selectedItemsList[0].Dateiname );
另外,我会把这个换成别的

var directoryPath = @"\\192.168.100.4\DMS\Daten\"; // I removed the extra slashes. Might have been causing a problem.
var fileName = selectedItemsList[0].Dateiname;
var fullPath = Path.Combine(directoryPath, fileName);
Process.Start(autovuePath[0], fullPath);

此外,它不是vue,也没有理由将空白大写:

我很困惑,为什么整个问题中的空格都是大写的?