调试Windows窗体应用程序C#添加手表
我不熟悉Windows窗体应用程序中的编码(而且对一般的编码也很陌生)。我正在调试我的代码。我总是在调试时使用手表,但是我似乎无法将任何变量添加到手表列表中。有人知道为什么吗 具体来说,我试图找出以下两个变量的错误: 1.用户 2.路径名 一旦我明白了这一点,我想在文本框“ImageFileWrapperPath”中显示字符串ImageFileWrapper 非常感谢每一点帮助。如果可能的话,我想解释一下,这样我可以为将来学习 请参阅下面我的代码:调试Windows窗体应用程序C#添加手表,c#,windows,winforms,C#,Windows,Winforms,我不熟悉Windows窗体应用程序中的编码(而且对一般的编码也很陌生)。我正在调试我的代码。我总是在调试时使用手表,但是我似乎无法将任何变量添加到手表列表中。有人知道为什么吗 具体来说,我试图找出以下两个变量的错误: 1.用户 2.路径名 一旦我明白了这一点,我想在文本框“ImageFileWrapperPath”中显示字符串ImageFileWrapper 非常感谢每一点帮助。如果可能的话,我想解释一下,这样我可以为将来学习 请参阅下面我的代码: using System; using Sys
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void ChooseImageFileWrapper_Click(object sender, EventArgs e)
{
String TheUser = Environment.UserName;
String PathName = "C:\Users\" + TheUser + "\Dropbox\PATENT\Waks & Co\";
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = PathName;
openFileDialog1.Filter = "Pdf Files|*.pdf";
openFileDialog1.RestoreDirectory = true;
openFileDialog1.Title = "Image File Wrapper Chooser";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
String ImageFileWrapper = openFileDialog1.FileName;
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
}
}
}
private void ImageFileWrapperPath_TextChanged(object sender, EventArgs e)
{
}
}
}
我不知道将这些变量添加到观察列表中有什么问题。通常在所需的点上设置一个断点,运行程序直到达到断点,然后右键单击变量名并选择“添加监视…”
顺便说一下,作为这些变量,局部变量,您不需要将它们添加到“监视”窗口,它们已经在“局部变量”窗口中(调试->窗口->局部变量) 但是,您的代码在这一行中有一个简单的错误
String PathName = "C:\Users\" + TheUser + "\Dropbox\PATENT\Waks & Co\";
在C#中,需要对反斜杠进行转义,将其加倍或在整个字符串前面加上如下逐字字符
String PathName = @"C:\Users\" + TheUser + "\Dropbox\PATENT\Waks & Co\";
最后,我建议避免手动构建路径字符串,而是使用Path.Combine方法
String PathName = Path.Combine(@"C:\Users",TheUser,@"Dropbox\PATENT\Waks & Co\");
最后,您可以使用此代码获取用户目录
string userdir = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
string PathName = Path.Combine(userdir, @"Dropbox\PATENT\Waks & Co\");
如果用户通过操作系统工具更改了其用户文件夹,这也会起作用。因此,我对编程也是新手。但我会尽我所能帮助你。所以为了你的 String PathName=“C:\Users\”+TheUser+“\Dropbox\PATENT\Waks&Co\” 看起来你有很多问题 因此,首先,您需要在所有的前面\因为代码认为这是一个转义字符。我注意到的第二件事是你的+用户+和;仍然是字符串的一部分且未连接。这就是我的代码,它没有给我任何错误或警告 String PathName=“'C:\\Users\\'”+TheUser+“\\Dropbox\\PATENT\\Waks&Co\\'”
现在,对于用户变量,您是否获得了文本框的信息?我认为您需要先点击断点,然后才能将内容添加到监视列表中。我不确定您是如何到达调试点的,因为这一行应该抛出一个编译错误:
String PathName=“C:\Users\”+TheUser+“\Dropbox\PATENT\Waks&Co\”
。您需要避开后斜杠,即使用“\”或使用逐字字符串,即@“C:\Users\”+TheUser+@“\Dropbox\PATENT\Waks&Co\”;
很抱歉,这是我关于堆栈溢出的第一篇文章。我将尝试不再这样开始。