---
title: "Combobox och SelectedIndexChanged?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/133085-combobox-och-selectedindexchanged"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "S@rpp@"
published: "2005-08-21T21:51:03.000Z"
updated: "2005-09-02T10:57:03.000Z"
replies: 4
views: 549
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/programmering/133085-combobox-och-selectedindexchanged"
---

# Combobox och SelectedIndexChanged?

## #1 — S@rpp@, 2005-08-21T21:51Z

Har idag gett mig in på att göra ett enkelt litet program i Delphi.
Det är första gången jag testar Delphi

Det är ett litet program där jag presenterar ett "paket" man kan köpa.
Man kan ändra paketets innehåll genom välja olika alternativ i ett antal comboboxar. 
Priset för paketet ändras beroende på vilka val man gör i komboboxarna.

Fråga1:
Jag har längst ner i formuläret en label som ska visa totalsumman för paketet. Den ska ändras automatiskt när man byter innehåll i paketet.

Jag har försökt att använda mig av SelectedIndexChanged under "Events" för comboboxen men jag får inte till det.

Fråga2:
Kan man på något sätt skriva ut eller skriva till fil de val man gjort och  totalsumman som en slags offert?

Här kommer koden till formuläret:

```
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace Datapaket
{
       public class WinForm : System.Windows.Forms.Form
	{
                                private System.ComponentModel.Container components = null;

		private System.Windows.Forms.ComboBox Grafikkort;
		private System.Windows.Forms.Label sumGrafikkort;
		private System.Windows.Forms.Label totSumma;

		public WinForm()
		{
			InitializeComponent();
		}
		protected override void Dispose(bool disposing)
		{
			if (disposing)
			{
				if (components != null)
				{
					components.Dispose();
				}
			}
			base.Dispose(disposing);
		}

		#region Windows Form Designer generated code
		private void InitializeComponent()
		{
			System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(WinForm));
			this.Grafikkort = new System.Windows.Forms.ComboBox();
			this.sumGrafikkort = new System.Windows.Forms.Label();
			this.totSumma = new System.Windows.Forms.Label();
			
			this.SuspendLayout();
			
			// Grafikkort
			this.Grafikkort.Items.AddRange(new object[] {
						"val 1 + 500 kr",
						"val 2 + 1.000 kr"});
			this.husval.Location = new System.Drawing.Point(312, 56);
			this.husval.Name = "Grafikkort";
			this.husval.Size = new System.Drawing.Size(120, 21);
			this.husval.TabIndex = 0;
			this.husval.Text = ""default + 0 kr"";
			
			
			// sumGrafikkort
			this.label1.Location = new System.Drawing.Point(24, 152);
			this.label1.Name = "sumGrafikkort";
			this.label1.Size = new System.Drawing.Size(96, 16);
			this.label1.TabIndex = 1;
			this.label1.Text = "+0 kr";
			 
			// label2
			this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
			this.label2.Location = new System.Drawing.Point(24, 120);
			this.label2.Name = "totSumma";
			this.label2.Size = new System.Drawing.Size(104, 16);
			this.label2.TabIndex = 2;
			this.label2.Text = "10.000 kr";
	
			// WinForm
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.BackColor = System.Drawing.SystemColors.Window;
			this.ClientSize = new System.Drawing.Size(464, 750);
			
			this.Controls.Add(this.totSumma);
			this.Controls.Add(this.Grafikkort);
			this.Controls.Add(this.sumGrafikkort);
			this.Name = "WinForm";
			this.Text = "Test";
			this.ResumeLayout(false);
		}
		#endregion
	
		[STAThread]
		static void Main()
		{
			Application.Run(new WinForm());
		}
	}
}
```

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

## #2 — P, 2005-08-22T22:07Z

Ser ju verkligen ut som c# men men

```
        private void showSelectedButton_Click(object sender, System.EventArgs e) {
            int selectedIndex = comboBox1.SelectedIndex;
            Object selectedItem = comboBox1.SelectedItem;

            MessageBox.Show("Selected Item Text: " + selectedItem.ToString() + "\n" +
                            "Index: " + selectedIndex.ToString());
        }
    }
```

hämtat från <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWindowsFormsComboBoxClassTopic.asp> kanske kan vara något?

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

## #3 — Mc Fetto, 2005-08-23T06:12Z

har du lagt till eventet då? 

```
ComboBox1.SelectedIndexChanged += 
        new System.EventHandler(ComboBox1_SelectedIndexChanged);
```

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

## #4 — S@rpp@, 2005-09-01T12:23Z

> Ser ju verkligen ut som c# men men

 
Jag trodde att man kan skriva ett litet windows program i c#, är det bättre/enklare att välja ett annat språk till applikationen? 

I Delphi kan man ju välja mellan bla C# Projects, Delphi for .NET Projects, Delphi Projects. 
Jag vill att programmet ska kunna köras från win 98, nt, win 2000, xp osv. Jag vill samtidigt att användaren av programmet ska behöva installera så lite tilläggsprogram som möjligt för att få det att fungera. 

Hur skulle ni lägga upp det för att göra detta enkla program jag försöker göra?

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

## #5 — Mc Fetto, 2005-09-02T10:57Z

För att köra c# krävs .NET famework på den dator programmet ska köras på. Det är ifs enkelt att skicka med i en installation å att användaren inte behöver bry sig om att installera det utan det sker automagiskt.

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

---

Tråden på webben: https://www.webforum.nu/amne/programmering/133085-combobox-och-selectedindexchanged
