I registret så har jag en nyckel som heter Path (F:\SAW\Annica) Citat MSDN för FolderBrowserDialog.SelectedPath: Då är det lite underligt, skriver jag så här: Angående 1) skumt! Tack Simon, nu är problemen lösta.Problem med folderBrowserDialog1.SelectedPath
Nu ville jag att folderBrowserDialog1.SelectedPath skulle vara samma som Path.
Så här försöker jag:
<code>
folderBrowserDialog1.SelectedPath = Resurser.readReg("Path", "Path");
//MessageBox.Show(Resurser.readReg("Path", "Path")); messageboxen visar koreckt path
//Min Resurser.readReg
public static string readReg(string subMapp,string var)
{
string nVarde ="";
try
{
RegistryKey pRegKey = Registry.CurrentUser;
pRegKey = pRegKey.OpenSubKey("Software\\SAW\\MappBuilder\\" + subMapp + "\\",false);
Object vVarde = pRegKey.GetValue(var,false);
if(vVarde !=null)
{
nVarde = vVarde.ToString();
}
}
catch(Exception fel)
{
MessageBox.Show(fel.Message + "\n\r" + fel.Source + "\n\r" + fel.TargetSite, "MappBuilder Error i Läsa Registret");
}
return nVarde;
}
</code>
Som sagt, min readReg fungerar perfekt, men varför kan jag inte kodvägen bestämma var jag
vill ha folderBrowserDialog1.SelectedPath?Sv: Problem med folderBrowserDialog1.SelectedPath
If the SelectedPath property is set before showing the dialog box, the folder with this path will be the selected folder, <b>as long as SelectedPath is set to an absolute path that is a subfolder of RootFolder</b> (or more accurately, points to a subfolder of the shell namespace represented by RootFolder).
(Markering min..)Sv:Problem med folderBrowserDialog1.SelectedPath
<code>
string sPath = Resurser.readReg("Path", "Path");
folderBrowserDialog1.Description = "Välj var Du vill ha Ditt nya mappsystem";
folderBrowserDialog1.SelectedPath = sPath;
</code>
så fungera det inte, men om jag skriver:
<code>
string sPath =" F:\\Webb\\C#\\MappBuilder\\";
folderBrowserDialog1.Description = "Välj var Du vill ha Ditt nya mappsystem";
folderBrowserDialog1.SelectedPath = sPath;
</code>
då fungerar det, hur fixar jag detta?
En fråga till, detta ger mig ett error:
<code>
sPath = sPath.Replace("\","\\");
</code>
errot markeras vid de dubbla backslach.Sv: Problem med folderBrowserDialog1.SelectedPath
I C# är \ ett tecken som används för att escapa andra, (tänk \t \r \n etc..), så för att göra som du vill måste du byta använda
sPath.Replace("\\", "\\\\");
alternativt
sPath.Replace(@"\", @"\\");
Sv:Problem med folderBrowserDialog1.SelectedPath
Så här gjorde jag:
<code>
string sPath = Resurser.readReg("Path", "Path");
int sLengd=sPath.LastIndexOf(@"\");
sPath = sPath.Substring(0, sLengd +1);
folderBrowserDialog1.Description = "Välj var Du vill ha Ditt nya mappsystem";
folderBrowserDialog1.SelectedPath = sPath;
</code>
Dessutom så fick jag vara noga med att inte ha ett avslutande "\" i registrett.