Avatar billede sorensen_123 Nybegynder
21. oktober 2006 - 16:55 Der er 7 kommentarer og
1 løsning

Hjælp!

Hejsa, jeg skal lave et program hvor der i toppen er en drop down boks, med f.eks. 3 lande: Danmark, Sverige og Norge, fra start skal der bare stå "Vælg land".
Neden under skal der så være en text input, hvor der fra start står "Du har ikke valgt noget land". Når man så vælger et land, så trykker man på en knap ved siden af, hvor der står "Info" på, når man har gjort det kommmer der noget info om landet nede i text inputen. Ved siden af tekst inputen skal der så være en knap hvor der står "kopier info", og når man trykker på den, bliver det der står i input boksen kopieret til udklipsholderen.
Bagefter kan man så vælge et andet land, trykke på info, og så kommer det ned i text inputen.

Nogen der forstår mit spørgsmål?

Det er som denne her opbygning: http://tinypic.com/view/?pic=4gs1wjo

Vil gerne have det komplette script pakket som zip eller rar :)


På forhånd tak..
Avatar billede bulgroz Nybegynder
21. oktober 2006 - 19:06 #1
Det kan naturligvis laves på rigtigt mange måder afhængigt af dine data. Men her er et grundlæggende 5 min. eksempel jeg har brygget til dig som illustrerer hvorledes man kan gøre.

Følgende kode er en UserControl som du kan smide på din form.
Der er ikke lavet dikkedarer til at expose selected language etc. og der er naturligvis mulighed for en masse forbedringer i henhold til dine ønsker.


namespace LanguageSelectionExample
{
    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;

    public partial class LanguagePicker : UserControl
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        private System.Windows.Forms.ComboBox comboBoxSelectedLanguage;
        private System.Windows.Forms.Button buttonCopy;
        private System.Windows.Forms.ToolTip toolTip;
        private System.Windows.Forms.RichTextBox richTextBoxInfo;

        List<String> languages = new List<string>();
        List<String> languagesInfo = new List<string>();

        public LanguagePicker()
        {
            InitializeComponent();
           
            this.SetLanguages();
        }

        private void SetLanguages()
        {
            this.languages.Add("Intet land valgt...");
            this.languagesInfo.Add("Du skal vælge et land...");

            this.languages.Add("Danmark");
            this.languagesInfo.Add("Danmark er et dejligt land....");
           
            this.languages.Add("Sverige");
            this.languagesInfo.Add("Helan gå... ");

            this.languages.Add("Norge");
            this.languagesInfo.Add("Bla bla...");
           
            this.comboBoxSelectedLanguage.DataSource = this.languages;
            this.richTextBoxInfo.Text = this.languagesInfo[0];
        }

        private void ButtonCopyClick(object sender, EventArgs e)
        {
            Clipboard.Clear();
            Clipboard.SetText(this.richTextBoxInfo.Text);
            MessageBox.Show("Kopieret...");
        }

        private void ComboBoxSelectedLanguageSelectedIndexChanged(object sender, EventArgs e)
        {
            int index = this.comboBoxSelectedLanguage.SelectedIndex;

            this.richTextBoxInfo.Text = this.languagesInfo[this.comboBoxSelectedLanguage.SelectedIndex];

            this.richTextBoxInfo.Enabled = index > 0;
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Component Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.comboBoxSelectedLanguage = new System.Windows.Forms.ComboBox();
            this.buttonCopy = new System.Windows.Forms.Button();
            this.toolTip = new System.Windows.Forms.ToolTip(this.components);
            this.richTextBoxInfo = new System.Windows.Forms.RichTextBox();
            this.SuspendLayout();
            //
            // comboBoxSelectedLanguage
            //
            this.comboBoxSelectedLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                        | System.Windows.Forms.AnchorStyles.Right)));
            this.comboBoxSelectedLanguage.FlatStyle = System.Windows.Forms.FlatStyle.System;
            this.comboBoxSelectedLanguage.FormattingEnabled = true;
            this.comboBoxSelectedLanguage.Location = new System.Drawing.Point(4, 4);
            this.comboBoxSelectedLanguage.Name = "comboBoxSelectedLanguage";
            this.comboBoxSelectedLanguage.Size = new System.Drawing.Size(221, 21);
            this.comboBoxSelectedLanguage.TabIndex = 0;
            this.comboBoxSelectedLanguage.Text = "Vælg Land...";
            this.comboBoxSelectedLanguage.SelectedIndexChanged += new System.EventHandler(this.ComboBoxSelectedLanguageSelectedIndexChanged);
            //
            // buttonCopy
            //
            this.buttonCopy.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
            this.buttonCopy.FlatStyle = System.Windows.Forms.FlatStyle.System;
            this.buttonCopy.Location = new System.Drawing.Point(231, 4);
            this.buttonCopy.Name = "buttonCopy";
            this.buttonCopy.Size = new System.Drawing.Size(75, 23);
            this.buttonCopy.TabIndex = 3;
            this.buttonCopy.Text = "Kopier";
            this.toolTip.SetToolTip(this.buttonCopy, "Kopier informationen til klipbordet");
            this.buttonCopy.UseVisualStyleBackColor = true;
            this.buttonCopy.Click += new System.EventHandler(this.ButtonCopyClick);
            //
            // richTextBoxInfo
            //
            this.richTextBoxInfo.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                        | System.Windows.Forms.AnchorStyles.Left)
                        | System.Windows.Forms.AnchorStyles.Right)));
            this.richTextBoxInfo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.richTextBoxInfo.Enabled = false;
            this.richTextBoxInfo.Location = new System.Drawing.Point(4, 32);
            this.richTextBoxInfo.Name = "richTextBoxInfo";
            this.richTextBoxInfo.ReadOnly = true;
            this.richTextBoxInfo.Size = new System.Drawing.Size(302, 115);
            this.richTextBoxInfo.TabIndex = 4;
            this.richTextBoxInfo.Text = "";
            //
            // LanguagePicker
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.Controls.Add(this.richTextBoxInfo);
            this.Controls.Add(this.buttonCopy);
            this.Controls.Add(this.comboBoxSelectedLanguage);
            this.Name = "LanguagePicker";
            this.Size = new System.Drawing.Size(310, 150);
            this.ResumeLayout(false);
        }

        #endregion
    }
}
Avatar billede sorensen_123 Nybegynder
22. oktober 2006 - 12:09 #2
Ser godt ud, dog får jeg nogle fejl når jeg debugger den.

Skal lige siges at jeg er absulut nybegynder i c#.

Fejlene er på linje 8, 14 og 29.
Avatar billede bulgroz Nybegynder
22. oktober 2006 - 15:03 #3
Det må være din form der fejler på de pågældende linier.
Husk at rette namespacet til dit eget namespace!

Hvis du stadig har fejl, så skriv lige fejlmeddelelserne.
Avatar billede bulgroz Nybegynder
22. oktober 2006 - 15:44 #4
Hvis du stadig har problemer, så er her et komplet eksempel:


namespace LanguageSelectionExample
{
    using System;
    using System.Windows.Forms;
    using System.Collections.Generic;

    public partial class Form1 : Form
    {
        private LanguagePicker languagePicker1;

        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.languagePicker1 = new LanguageSelectionExample.LanguagePicker();
            this.SuspendLayout();
            //
            // languagePicker1
            //
            this.languagePicker1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                        | System.Windows.Forms.AnchorStyles.Left)
                        | System.Windows.Forms.AnchorStyles.Right)));
            this.languagePicker1.Location = new System.Drawing.Point(13, 13);
            this.languagePicker1.Name = "languagePicker1";
            this.languagePicker1.Size = new System.Drawing.Size(318, 150);
            this.languagePicker1.TabIndex = 0;
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(343, 266);
            this.Controls.Add(this.languagePicker1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);

        }

        #endregion
    }

    public partial class LanguagePicker : UserControl
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        private System.Windows.Forms.ComboBox comboBoxSelectedLanguage;
        private System.Windows.Forms.Button buttonCopy;
        private System.Windows.Forms.ToolTip toolTip;
        private System.Windows.Forms.RichTextBox richTextBoxInfo;

        List<String> languages = new List<string>();
        List<String> languagesInfo = new List<string>();

        public LanguagePicker()
        {
            InitializeComponent();

            this.SetLanguages();
        }

        private void SetLanguages()
        {
            this.languages.Add("Intet land valgt...");
            this.languagesInfo.Add("Du skal vælge et land...");

            this.languages.Add("Danmark");
            this.languagesInfo.Add("Danmark er et dejligt land....");

            this.languages.Add("Sverige");
            this.languagesInfo.Add("Helan gå... ");

            this.languages.Add("Norge");
            this.languagesInfo.Add("Bla bla...");

            this.comboBoxSelectedLanguage.DataSource = this.languages;
            this.richTextBoxInfo.Text = this.languagesInfo[0];
        }

        private void ButtonCopyClick(object sender, EventArgs e)
        {
            Clipboard.Clear();
            Clipboard.SetText(this.richTextBoxInfo.Text);
            MessageBox.Show("Kopieret...");
        }

        private void ComboBoxSelectedLanguageSelectedIndexChanged(object sender, EventArgs e)
        {
            int index = this.comboBoxSelectedLanguage.SelectedIndex;

            this.richTextBoxInfo.Text = this.languagesInfo[this.comboBoxSelectedLanguage.SelectedIndex];

            this.richTextBoxInfo.Enabled = index > 0;
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Component Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.comboBoxSelectedLanguage = new System.Windows.Forms.ComboBox();
            this.buttonCopy = new System.Windows.Forms.Button();
            this.toolTip = new System.Windows.Forms.ToolTip(this.components);
            this.richTextBoxInfo = new System.Windows.Forms.RichTextBox();
            this.SuspendLayout();
            //
            // comboBoxSelectedLanguage
            //
            this.comboBoxSelectedLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                        | System.Windows.Forms.AnchorStyles.Right)));
            this.comboBoxSelectedLanguage.FlatStyle = System.Windows.Forms.FlatStyle.System;
            this.comboBoxSelectedLanguage.FormattingEnabled = true;
            this.comboBoxSelectedLanguage.Location = new System.Drawing.Point(4, 4);
            this.comboBoxSelectedLanguage.Name = "comboBoxSelectedLanguage";
            this.comboBoxSelectedLanguage.Size = new System.Drawing.Size(221, 21);
            this.comboBoxSelectedLanguage.TabIndex = 0;
            this.comboBoxSelectedLanguage.Text = "Vælg Land...";
            this.comboBoxSelectedLanguage.SelectedIndexChanged += new System.EventHandler(this.ComboBoxSelectedLanguageSelectedIndexChanged);
            //
            // buttonCopy
            //
            this.buttonCopy.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
            this.buttonCopy.FlatStyle = System.Windows.Forms.FlatStyle.System;
            this.buttonCopy.Location = new System.Drawing.Point(231, 4);
            this.buttonCopy.Name = "buttonCopy";
            this.buttonCopy.Size = new System.Drawing.Size(75, 23);
            this.buttonCopy.TabIndex = 3;
            this.buttonCopy.Text = "Kopier";
            this.toolTip.SetToolTip(this.buttonCopy, "Kopier informationen til klipbordet");
            this.buttonCopy.UseVisualStyleBackColor = true;
            this.buttonCopy.Click += new System.EventHandler(this.ButtonCopyClick);
            //
            // richTextBoxInfo
            //
            this.richTextBoxInfo.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                        | System.Windows.Forms.AnchorStyles.Left)
                        | System.Windows.Forms.AnchorStyles.Right)));
            this.richTextBoxInfo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.richTextBoxInfo.Enabled = false;
            this.richTextBoxInfo.Location = new System.Drawing.Point(4, 32);
            this.richTextBoxInfo.Name = "richTextBoxInfo";
            this.richTextBoxInfo.ReadOnly = true;
            this.richTextBoxInfo.Size = new System.Drawing.Size(302, 115);
            this.richTextBoxInfo.TabIndex = 4;
            this.richTextBoxInfo.Text = "";
            //
            // LanguagePicker
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.Controls.Add(this.richTextBoxInfo);
            this.Controls.Add(this.buttonCopy);
            this.Controls.Add(this.comboBoxSelectedLanguage);
            this.Name = "LanguagePicker";
            this.Size = new System.Drawing.Size(310, 150);
            this.ResumeLayout(false);
        }

        #endregion
    }

    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}
Avatar billede sorensen_123 Nybegynder
07. januar 2007 - 14:03 #5
Takker...

Smid et svar :)
Avatar billede bulgroz Nybegynder
07. januar 2007 - 16:33 #6
Svar...
Avatar billede sorensen_123 Nybegynder
07. januar 2007 - 16:35 #7
Accepteret. Tak for hjælpen :)

Kunne du evt. hjælpe mig med mit andet spørgsmål på: http://www.eksperten.dk/spm/754451 ? :)
Avatar billede bulgroz Nybegynder
07. januar 2007 - 17:28 #8
Pt. er je lige lidt hængt op arbejdsmæssigt, så jeg kan ikke garantere et hurtigt svar. Jeg vil dog se om jeg kan få tid.
Men ummidelbart er løsningen på dit problem blot at lave en custom TabPage. Der er garanteret en masse eksempler på dette på nettet allerede.
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