---
title: "C# WinForm: Userkontroll problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/118754-c-winform-userkontroll-problem"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "aleborg"
published: "2004-12-27T13:19:33.000Z"
updated: "2005-01-03T20:06:29.000Z"
replies: 3
views: 345
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/118754-c-winform-userkontroll-problem"
---

# C# WinForm: Userkontroll problem

## #1 — aleborg, 2004-12-27T13:19Z

Jag har en WinForm där jag placerat en tabcontrol.
På en av tabsidorna har jag placerat en userkontroll som har följande kod vid dubbelklick i en datagrid:

```
	Form1 f = new Form1();
	f.LoadUser(Convert.ToInt32(row.Cells[0].Value.ToString()));
```

i Form1 som huvudformuläret heter finns följande kod:

```
	public void LoadUser(int userid)
	{
		UltraTab kinfo =(UltraTab)tabMain.Tabs.GetItem(0);
		tabMain.SelectedTab = kinfo;
		kinfo.Enabled=true;
		MessageBox.Show(userid.ToString());
		customerInfo1.LoadContactInfo(userid,2);
	}
```

Här ska det växlas tabsida och viss kod ska köras mot den userkontroll som finns på den tabsidan. 
Messageboxen visas men tabben byts aldrig och customerInfo1.LoadContactInfo(userid,2); får ingen effekt.

Om jag testar med följande i Form1_Load:

```
	private void Form1_Load(object sender, System.EventArgs e)
	{
		LoadUser(30000);
	}
```

Så körs allt som det ska!
Vad gör man? Det funkar från Form1 men inte från userkontrollen!

Permalänk: https://www.webforum.nu/p/118754

## #2 — aleborg, 2004-12-28T13:43Z

Efter lite sökning här på wF så löstes alla mina problem :D
<http://www.webforum.nu/showthread.php?s=&forumid=29&threadid=78585&highlight=usercontrol>
bytte

```
	Form1 f = new Form1();
	f.LoadUser(Convert.ToInt32(row.Cells[0].Value.ToString()));
```

mot

```
((Form1)this.ParentForm).LoadUser(Convert.ToInt32(row.Cells[0].Value.ToString()));
```

Permalänk: https://www.webforum.nu/p/1515138

## #3 — aleborg, 2005-01-03T17:34Z

Mer problem :(
om jag kör följande kod från en en annan form (dialog)

```
((Form1)this.ParentForm).LoadUser(30000);
```

så får jag felmeddelande om att "Objektreferensen har inte angetts till en instans av ett objekt."
Det funkar i Form1 men inte från en annan form i samma projekt.
Någon som har koll på detta?

Permalänk: https://www.webforum.nu/p/1518027

## #4 — aleborg, 2005-01-03T20:06Z

Lösningen för dom som är intresserade:

om man öppnar en dialog så här:

```
	MinDialog f = new MinDialog();
	f.ShowDialog(this.ParentForm);
```

så kan man inte använda 
this.ParentForm
utan man måste använda 
this.Owner för att kalla på en publik funktion i den "formen" som öppnade dialogen.

Permalänk: https://www.webforum.nu/p/1518119

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/118754-c-winform-userkontroll-problem
