Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med att spara treeView setting i registret.

Postades av 2003-12-04 19:31:33 - Benni Svensson, i forum c# (c-sharp), Tråden har 10 Kommentarer och lästs av 1077 personer

Jag har problem med att convertera ifron object till int.
<code>
RegistryKey pRegKey = Registry.LocalMachine;
pRegKey = pRegKey.OpenSubKey("Software\\IdrottsPortalen");

if(pRegKey!=null)
{
Object val = pRegKey.GetValue("Län");
//MessageBox.Show("Registrerade nycklar:"+ val);
treeView1.SelectedNode.Parent.Index = val;
val = pRegKey.GetValue("Kommun");
treeView1.SelectedNode.Index = val;
//MessageBox.Show("Registrerade nycklar:"+ val);
}
</code>
Felet jag får är:
<code>
E:\IdrottsPortalen\IdrottsPortalen\Län_Kommun.cs(250): Cannot implicitly convert type 'object' to 'int'
</code>
Jag vet att jag skall använda mig av ConvertTo men jag får inte ihop det.


Svara

Sv: Problem med att spara treeView setting i registret.

Postades av 2003-12-04 21:44:28 - Johan Bovin

har du testat med Convert.ToInt32(val)?
du borde kanske oxå kolla att dina val inte är null (vilket dom ju är om nyckeln saknas)


Svara

Sv: Problem med att spara treeView setting i registret.

Postades av 2003-12-04 22:50:44 - Benni Svensson

Tack men jag lyckas med att klumpa till det i alla fall.
<code>
Object val = pRegKey.GetValue("Län");
if(val !=null)
{
treeView1.SelectedNode.Parent.Index = Convert.ToInt32(val);
val = pRegKey.GetValue("Kommun");
val=Convert.ToInt32(val);
treeView1.SelectedNode.Index = Convert.ToInt32(val);
}
</code>
Error:
<code>
E:\IdrottsPortalen\IdrottsPortalen\Län_Kommun.cs(252): Property or indexer 'System.Windows.Forms.TreeNode.Index' cannot be assigned to -- it is read only
</code>
Jag gör tydligen någonting tokigt iallafall, vad tror du?


Svara

Sv: Problem med att spara treeView setting i registret.

Postades av 2003-12-05 08:17:43 - Johan Normén

wwwoooooooooooo... STOP!!! ;-)

Jag rekomenderar dig från att inte spara skit i registret, Registret är typ MS största misstag och folk missbrukar det som bara den. Undvik gärna att spara saker i registret _Eller_ var väldigt noga med att se till så det du lägger in verkligen raders från registret. Egentligen borde du spara ner dina inställningar i en xmlfil. För att underlätta det för dig kan du använda dig av MS configurationsblock där du har möjlighet att spara config data för din application i app.config eller i egna skapade XMLfiler.

Mvh Johan


Svara

Sv: Problem med att spara treeView setting i registret.

Postades av 2003-12-05 09:55:33 - Benni Svensson

Möjligen att du har rätt, men jag hadde inga större problem med att skriva/läsa ifrån registret i VB 6.0
Xml-fil har jag aldrig jobbat med så jag skall väll inte säga någonting negativt, men...


Svara

Sv: Problem med att spara treeView setting i registret.

Postades av 2003-12-05 10:12:16 - Johan Bovin

Exakt vad är det du försöker åstadkomma. Lyckas inte riktigt klura ut. Vill du flytta på en nod eller vad?


Svara

Sv: Problem med att spara treeView setting i registret.

Postades av 2003-12-05 10:18:11 - Benni Svensson

Har jag varit så otydlig???
Jag fick ju suverän hjälp av dig när det gäller treeView:n. Nu vill jag spara treeView:ns inställningar, alltså ha noden för län och child noden för kommun expanderad.
Jag kanske är helt ute när det gäller SelectedNode.Index men visst borde man väll kunna göra det??


Svara

Sv: Problem med att spara treeView setting i registret.

Postades av 2003-12-05 12:08:52 - Johan Bovin

Ok, du vill alltså spara undan typ "Skåne" och sen när du läser in den igen så vill du att skåne skall vara expanderad?
Grejen är ju det att du bara sparar undan nodens position i förhållande till sin Parent...
Nåja, men jag tror att detta kan vara vad du vill ha. Men det kommer ju inte att fungera om antalet noder av nån anledning skulle ändra på sig eller om noderna sorteras i en annan ordning...

<code>
Object val = pRegKey.GetValue("Län");
if(val !=null)
{
int index=Convert.ToInt32(val);
treeView1.Nodes[index].Expand();
val = pRegKey.GetValue("Kommun");
int kommunindex=Convert.ToInt32(val);
treeView1.SelectedNode=treeView1.Nodes[index].Nodes[kommunindex];
}
</code>
Ett alternativ hade ju kunnat vara att spara namnet på noden istället
<code>
string lan=GetLänNamn(); //hämta lännamnet

for(int i=0;i<treeView1.Nodes.Count;i++)
{
if(treeView1.Nodes[i].Text==lan)
{
treeView1.Nodes[i].Expand();
}
}
</code>
Sen borde du nog kolla lite på att spara inställningarna någon annanstans antingen i en ini-fil eller en settingsfil av xml-typ. Kolla på xmlserialization. Väldig enkelt att jobba med där du bara behöver göra en klass för dina inställningar som du sparar ner i en xml-struktur och sen kan läsa upp igen. väldigt smidigt
Kolla här t.ex.: http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=236 http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=236
eller
http://www.codeproject.com/csharp/xmlserialize.asp


****
EDIT: ändrade lite... hade sett lite fel innan


Svara

Sv: Problem med att spara treeView setting i registret.

Postades av 2003-12-05 14:05:00 - Benni Svensson

Jag vet inte varför jag vill ha det i registret, det har bara blivet så.

Jag fick problem med dik kod.
Först så försökte jag med den översta, den med indexnummer.
Någonting blir galet med den sista raden, min application krachar.
Jag har det i en MDI-applikation och han pekar på
<code>
{
Application.Run(new Form1());
}
</code>
Jag byggde om min kod, och försökte att anpasa den efter ditt andra förslag.
Inga problem med att spara men var får du string lan=GetLänNamn(); //hämta lännamnet ifrån?
Jag har försök med allahanda ting inkl behålla min ursprungliga val(som har värdet i sig). Har försökt med convertera till text, och utan convertera till text.
Jag får inga felmedelande men treeView öppnar inte upp sig.
<code>
string lan=pRegKey.GetValue("Län").ToString();
for(int i=0;i<treeView1.Nodes.Count;i++)
{
if(treeView1.Nodes[i].Text==lan.ToString())
{
MessageBox.Show(lan.ToString());
label1.Text= lan.ToString();
treeView1.Nodes[i].Expand();
}
}
</code>
Här är det märkvärdigt. I MessageBoxen så får jag fram länet, men inte i labelen.
Kan det måntro ha någonting att göra med att treeViewn inte expandera?


Svara

Sv: Problem med att spara treeView setting i registret.

Postades av 2003-12-05 14:54:53 - Johan Bovin

GetLänNamn var bara ett exempel...
typ för att markera att du hämtade namnet på länet.
Väldigt skumt att labeln inte får nåt värde.
Nåja, jag kan försöka knåpa ihop ett lite bättre exempel mot kvällen. Men jag tycker att din kod borde fungera...


Svara

Sv: Problem med att spara treeView setting i registret.

Postades av 2003-12-05 15:22:12 - Benni Svensson

Ännu märkvärdigare.
<code>
this.label1.Text= lan.ToString();
this.Text= lan.ToString();
this.treeView1.Nodes[i].Expand();
</code>
Gör jag så här, så får formuläret rätt text, men inte labelen och treeView:n är som en gammal tjurig käring, bryr sig inte om någonting.
Inga felmedelanden dock.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 155
27 952
271 704
6 207
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies