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 ListView

Postades av 2006-04-17 20:22:11 - Henrik Söderlind, i forum c# (c-sharp), Tråden har 2 Kommentarer och lästs av 527 personer

Jag har två formulär i min applikation. Formulär 1 har en ListView. Formulär 2 har diverse textfält, combo boxar etc. Vad jag vill åstadkomma med detta är att när användaren har fyllt i uppgifterna i formulär 2 och klickat på Spara-knappen så ska de ifyllda uppgifterna visas i ListView:n i formulär 1. Jag har undersökt ett färdigt skript där det bara ska vara att skriva ListView.Items.Add(ListViewItem). Kruxet jag har är att jag inte kan komma åt ListView:n som finns i formulär 1.
Blir jag tvungen att spara uppgifterna från formulär 2 till en fil innan jag kan visa dom i ListView:n i formulär 1 eller hur ska jag göra?


Svara

Sv: Problem med ListView

Postades av 2006-04-17 22:38:20 - André Claesson

Vanlig fråga (därför du inte fått svar än).

Det finns 2 sätt.

1. Skicka med en referens till Listviewn när Form2 skapas eller när den visas med Show/ShowDialog. Då kommer du åt den från Form2.

Form1:

namespace FormsProject
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2(listView1);
            form2.ShowDialog();
        }
    }
}


Form2:
namespace FormsProject
{
    public partial class Form2 : Form
    {
        ListView listView;

        public Form2(ListView lv)
        {
            listView = lv;

            InitializeComponent();
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            listView.Items.Add(textBox1.Text);
            this.Close();
        }
    }
}


2. Detta är ett "snyggare" sätt. Mer objektorienterat. Returnera värden från Form2 till Form1.

Form1:
namespace FormsProject
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2();
            ListViewItem lvi = form2.ShowDialog();
//Här stannar koden och väntar på att metoden ShowDialog i Form2 ska returnera
            if (lvi != null)
                listView1.Items.Add(lvi);
        }
    }
}


Form2:
namespace FormsProject
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        public new ListViewItem ShowDialog()
//Ordet new används eftersom metoden ShowDialog redan finns i en Form och vi ersätter/gömmer den med en egen variant
        {
            DialogResult dr = base.ShowDialog();
            if (dr == DialogResult.OK)
                return new ListViewItem(textBox1.Text);
            else
                return null;
        }

        private void btOK_Click(object sender, EventArgs e)
        {
            DialogResult = DialogResult.OK;
        }
    }
}


I exempel 2 returnerar jag en ListViewItem som skapas i Form2. Det går lika bra att returnera ett annat objekt som t.ex. en sträng. Det snyggaste och bästa är dock, om du har många fält att fylla i, att ha en klass från vilken du skapar ett objekt, t.ex. User, sen returnerar du en User. På detta sätt behöver inte Form2 känna till ens att det är en ListView och om man alltid programmerar så smart är det lättare sen att byta ut t.ex. kod i en form utan att behöva ändra nån annanstans.

Puh...det blev en hel del skrivande!


Svara

Sv:Problem med ListView

Postades av 2006-04-18 00:12:26 - Henrik Söderlind

Tack för ett superbra tips!
Tycker att det är lite svårnavigerat här på pellesoft.se så därför använde jag sökmotorn som inte hittade vad jag sökte. Men jag ska titta bland vanliga frågor nästa gång innan jag frågar (om jag hittar dit vill säga).


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 167
27 952
271 704
743
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