Avatar billede sorensen_123 Nybegynder
07. januar 2007 - 13:58 Der er 15 kommentarer og
1 løsning

Custom tabs

Hejsa,

Jeg sidder og arbejder på et program i c#, og der skal selvfølgelig være tabs i.

Nu er spørgsmålet:

Vil rigtigt gerne have tabs som ie7, hvordan ændrer jeg på hvordan de ser ud?

Derudover vil jeg gerne have en luk knap ("x"), som i ie7 på tabsne.

Ved godt at man bare lave skrive et x og lægge det oven på tabben, men desværre har de dynamisk længde, og man kan også selv tilføje flere tabs, derfor ville det ikke kunne blive ordenligt.

Er der nogen der kunne lave et c# projekt til mig, der kan noget lignene det? Jeg vil gerne stå for upload plads hvis det skulle være.

Fandt et projekt som en havde lavet i vb.net, og det er lige præcist DET jeg vil have, bare i c#:
http://www.codeproject.com/useritems/TabPages.asp

Så hvis nogen kunne lave noget lige magen til, eller konventere koden til c#, ville det være super!

På forhånd tak!
Avatar billede aaberg Nybegynder
07. januar 2007 - 15:16 #1
Du kan sagtens bruge VB.NET kontroller i et C# projekt. Så hvorfor ikke bare bruge VB.NET kontrollen, i stedet for at opfinde hjulet forfra?
Avatar billede sorensen_123 Nybegynder
07. januar 2007 - 15:18 #2
nu er det lige at jeg ikke har særligt meget forstan på c#, og ved ikke hvordan jeg skal kunne sætte det ind.

Er der ikke nogen der vil lave et eksempel? :( den der gør det får de 200 points.
Avatar billede ncp Nybegynder
07. januar 2007 - 18:18 #3
Hvis du downloader projectet fra codeproject.com er der en dll-fil i. I VS højreklikker du på din Toolbox og vælger "Choose Items" - her kan du browse frem til Dll'en og herved skulle du få controllen frem i dit C#-project ved simpel Drag & Drop...
Avatar billede sorensen_123 Nybegynder
07. januar 2007 - 21:15 #4
Tak, har fået den frem i toolbox, og hiver den over i mit projekt, men det er som om at den ikke rigtigt er rigtigt inde? Der kommer nemlig ikke rigtigt noget, bare en tom ting.
Avatar billede sorensen_123 Nybegynder
07. januar 2007 - 21:20 #5
Er der ikke nogen der vil bruge 2 minutter på at putte det ind i et c# visual studio projekt? 200 points.
Avatar billede sorensen_123 Nybegynder
07. januar 2007 - 21:25 #6
Har fundet ud af at man skal tilføje tabs før den bliver synlig (kunne jeg se ud fra exe filen).

Desværre har jeg ikke Visual studio:VB, så kan ikke rigtigt se hvad koden er på knappen (hvad den bruger for at lave en ny tab).
Kan nogen fortælle mig det ? :)
Avatar billede sorensen_123 Nybegynder
07. januar 2007 - 21:26 #7
Og evt. konvertere det til c# :)
Avatar billede ncp Nybegynder
07. januar 2007 - 21:55 #8
Fra codeproject.com:
To add a page, call the Add method.  This method takes a TabPage object as a parameter.  The TabPage object has text, a control (the control you wish to display when the tab is selected), and an optional toolTip string which will be displayed when the mouse hovers over the tab.

Du skal med andre ord tilføje tabs gennem kode og derfor virker det nok lidt tungere end standard tab-controllen fra .NET, hvor tabs og controls kan tilføjes i disigneren.

Label lblPage = new Label();
lblPage.Text = "Tab Page Text";
ctlTabPages.Add(New TabPages.TabPage("Tab Navn", lblPage, "Tab Tooltip");

Overstående skulle tilføje en tab til tab-controllen crlTabPages, det er dog ikke testet...
Avatar billede sorensen_123 Nybegynder
08. januar 2007 - 20:21 #9
Har lige afprøvet, men desværre kommer den op med en fejl i koden.
Fejlen sker på denne linje:
ctlTabPages.Add(New TabPages.TabPage("Tab Navn", lblPage, "Tab Tooltip");
Og fejlbeskrivelsen er: ") expected".

Hele min kode ser sådan ud:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

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

        private void tilføjTabToolStripMenuItem_Click(object sender, EventArgs e)
        {
Label lblPage = new Label();
lblPage.Text = "Tab Page Text";
ctlTabPages.Add(New TabPages.TabPage("Tab Navn", lblPage, "Tab Tooltip");

        }
    }
}

Er der nogen der kan ordne koden?

Kan godt være det er lidt svært for jer når i ikke har mit projekt.
Så i kan hente mit projekt på http://www.reanimation.dk/ekspertenuploadcsharp/tabEksempel.zip

Hvis i kan ordne det, så hvis i har lyst, er i meget velkomne til at uploade et rettet projekt i zip fil på:
http://www.reanimation.dk/ekspertenuploadcsharp/

Håber virkeligt at nogen lige vil tage sig tid til de 2 minutter det nok tager, og ordne det :) der skal jo også arbejdes for de 200 point :o)
Avatar billede ncp Nybegynder
09. januar 2007 - 09:44 #10
Prøv at rette linjen til:
ctlTabPages.Add(New TabPages.TabPage("Tab Navn", lblPage, "Tab Tooltip"));
Avatar billede sorensen_123 Nybegynder
09. januar 2007 - 13:50 #11
Det er det samme... Det er i dette stykke der er fejl: TabPages.TabPage der kommer rød streg under det første ord.
Avatar billede ncp Nybegynder
09. januar 2007 - 17:57 #12
Sorry New skal være med småt - så linjen skal være:
ctlTabPages.Add(new TabPages.TabPage("Tab Navn", lblPage, "Tab Tooltip"));
Avatar billede sorensen_123 Nybegynder
09. januar 2007 - 18:31 #13
Det virker! Det virker!!!
Er overlykkelig lige nu! Tusind tak!

Smid et svar, og du får de 200 point som du har fortjent :)
Avatar billede sorensen_123 Nybegynder
09. januar 2007 - 18:47 #14
Nu vil jeg gerne lige spørge om noget andet.

Hvordan får jeg den til at oprette et webbrowser modul i hver ny tab? Hvor siden er about:blank :) Og hvordan opdaterer jeg tab navnet på en tab? skal kunne vælge lige præcist hvilken tab det skal være.
Avatar billede ncp Nybegynder
13. januar 2007 - 01:06 #15
Her er lidt at leje med:

        private void button1_Click(object sender, EventArgs e)
        {
            WebBrowser ctrTabPage = new WebBrowser();
            ctrTabPage.Tag = ctlTabPages.Count;
            ctrTabPage.Url = new Uri("http://www.computermail.dk/");
            ctrTabPage.Navigated += new WebBrowserNavigatedEventHandler(ctrTabPage_Navigated);
            ctlTabPages.Add(new TabPages.TabPage("Tab Navn", ctrTabPage, "Tab Tooltip"));
        }

        void ctrTabPage_Navigated(object sender, WebBrowserNavigatedEventArgs e)
        {
            WebBrowser ctrTabPage = (WebBrowser)sender;
            ctlTabPages[(int)ctrTabPage.Tag].Text = ctrTabPage.DocumentTitle;
            ctlTabPages.Refresh();
        }
Avatar billede sorensen_123 Nybegynder
13. januar 2007 - 11:02 #16
Vil kigge på det.

Og tusind tak for hjælpen :o)
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