debuggingWindows窗体应用程序C#添加一个手表

我是在Windows窗体应用程序中编码的新手(对于一般编码来说,这是相当新颖的)。 我正在尝试debugging我的代码。 我一直在debugging时使用手表,但我似乎无法将任何我的variables添加到监视列表。 有没有人有任何想法,为什么?

具体来说,我想弄清楚以下两个variables有什么问题:1.用户2.path名

一旦我弄清楚了,我想在文本框“ImageFileWrapperPath”中显示stringImageFileWrapper。

每一点帮助都非常感谢。 如果可能的话,我想解释一下,以便我可以学习未来。

请参阅下面的代码:

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) { } } } 

Solutions Collecting From Web of "debuggingWindows窗体应用程序C#添加一个手表"

我不知道你有什么问题将这些变量添加到监视列表。 通常你在需要的点上设置一个断点,运行程序直到你到达断点,然后右键单击变量名并选择Add Watch ….
顺便说一下,作为这些变量,局部变量,你不需要把它们添加到Watch窗口,它们已经在本地窗口(DEBUG-> WINDOW-> Locals)

然而你的代码在这一行中有一个简单的错误

 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 \”;

看起来你有很多问题。

所以首先你需要在你所有的代码之前,因为代码认为这是一个转义字符。 我注意到的第二件事是你的+ TheUser +和; 仍然是字符串的一部分而不是连接的。 所以这是我没有给我任何错误或警告的代码。

String PathName =“'C:\\ Users \\'”+ TheUser +“'\\ Dropbox \\ PATENT \\ Waks&Co \\'”;

现在的TheUser变量是你得到一个文本框的信息?