Avatar billede Slettet bruger
21. december 2005 - 17:43 Der er 9 kommentarer og
1 løsning

Controls mellem Namespaces

Hey alle sammen:

Jeg har et namespace i filen Form1.cs der hedder "Explorer", her i ligger et listview kaldet listView1. I en anden fil "SearchGUI.cs" ligger et Namespace der hedder "Search"

Godt så, det jeg vil er, at kunne manipulere med listView1 fra SearchGUI.cs. Derfor har jeg gjordt således for at kunne manipulere med listView1:

using Explorer;

Explorer.Form1 Explorer;
Explorer = new Explorer.Form1();

Explorer.listView1.Items.Add("Virk nu");


Men dette sker der intet ved når den kører det, og det genererer ingen fejl, det eneste jeg kan gøre er at "hente" data fra det, altså items count fx. Men jeg kan ikke ændre BG color eller Adde en item, Hva gør jeg galt?
Avatar billede Syska Mester
21. december 2005 - 17:59 #1
Du opreter en form, men du skal jo også vise den et sted.....

// ouT
Avatar billede Slettet bruger
21. december 2005 - 18:04 #2
Dette er kun et udpluk af koden..

Formen hvor listView1 er i, er åben, og den form som jeg vil manipulere fra er også vist "search vindue"
Avatar billede Syska Mester
21. december 2005 - 18:30 #3
Hvis den allerede er åben, og der er oprettet en instance af form1, nytter det ikke noget at manupulere med en ny instance, så skal du have fat i reference til hvor din form1 bliver oprettet....

// ouT
Avatar billede Slettet bruger
21. december 2005 - 19:15 #4
hmm, og så på dansk :P det fatter jeg desværre ikke så meget af.. men hvis jeg kan se item count på listviewet, må jeg da også kunne oprette en item? eller er der noget der forbyder det?
Avatar billede Syska Mester
21. december 2005 - 19:38 #5
Smid din kode her: http://www.nomorepasting.com/ under *.NET kategorien....

instance = udgave

Noget af det jeg tror du gør er at oprette endnu en instance af din Form1 ... altså så du måde har 2 instances af Form1... en i Form1.cs og en i SearchGUI.cs

Og de har ikke noget med hinadne at gøre udover at de begge har samme egenskaber.

Derfor skal du nok sende en reference med fra din Form1 klasse med over til din SearchGUI klasse, og så kan du tilføje emner til din liste....

// ouT
Avatar billede Slettet bruger
21. december 2005 - 20:33 #6
Avatar billede Syska Mester
21. december 2005 - 20:58 #7
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Explorer;

namespace Search
{
    public partial class SearchGUI : Form
    {
        string[] SearchItems;
    Explorer.Form1 Explorer

        public SearchGUI(Explorer.Form1 form)
        {
            InitializeComponent();
        Explorer = form;
        }

        private void SearchGUI_Load(object sender, EventArgs e)
        {
            SearchProgress.Value = 0;
        }

        private void SearchBtn_Click(object sender, EventArgs e)
        {         
            Explorer.listView1.Items.Add("The New Item");                                                     
        }

        public void GetArray(string[] Items)
        {
            SearchItems = Items;
        }
    }
}

Og så i fin form1, når du kalder den her form noget ala

SearchGUI myForm = new SearchGUI(this);
myForm.Show();

Håber du forstår hvad jeg mener...

På den her måde sender du nemlig en reference med til din search form, som så kan se din Form1.....

Nu er det nemlig den samme instance begge forms bruger...

// ouT
Avatar billede Slettet bruger
21. december 2005 - 21:06 #8
Okay skide godt, det virker nu.. ved hvordan det fungere nu, ved hva du mener :)

Mange tak..
Avatar billede Syska Mester
21. december 2005 - 21:10 #9
Super godt, det tager jeg som et tegn på at jeg skal smide et svar nu

// ouT
Avatar billede Slettet bruger
21. december 2005 - 21:11 #10
præcis :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester