Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 6.600 pregleda

Najnovija ↓

Interface komponente za C#? 10.08.2004. u 18:23 · pre 270 meseci #1
Zanima me kako da dodjem da recimo menija kakav ima AVP (anti virus) sa leve strane ili novi outlook. Kako modifikovati DataGrid ili koristiti nesto drugo da se celije razlikuju po sirini da se selekcija jednog polja highlight-uju svi horizontalni podaci...
Za uzor sam uzeo AVP i Outlook a posebno Contacts i Inbox tj prikaz naslova i posiljalaca maila.

Najvise me zanima estetika Aplikacije tj njene komponente kojih nema u paleti!
Re: Interface komponente za C#? 10.08.2004. u 20:17 · pre 270 meseci #3
Znam, neki ljudi će reći, aman dosta više :), ali pogledaj
www.infragistics.com

unutar UltraSuite paketa imaju baš te kontrole koje ti tražiš, kako za WinForms tako i za WebForms
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: koriscenje c++ dll-ova 10.08.2004. u 21:22 · pre 270 meseci #4
Aman dosta vise ;)

kristiane, jel bi mogao da bacis slike onoga na sta mislis. Koristim AVG i Outlook Express 6, tako da nemam pojma o cemu govoris, ali zvuci izazovno :) Sta da radim dosadno mi je na poslu, svi zapalili na godisnji, a ja jedini ostao da se smaram :( Tezak zivot nas umentika, sta ces :)
Inace sam protivnik da se koriste tudje komponente, sem ako bas moras zbog kratkih rokova & stuff. Bolje je 'izmisljati toplu vodu', barem se nesto novo nauci.

BTW ako budes slao slike, plz nemoj da saljes screenshotove, smanji malo, recimo na 640x480. Videce se dovoljno da te ljudi razumeju :)

Potpis
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
Re: Interface komponente za C#? 11.08.2004. u 01:20 · pre 270 meseci #5
Mrzi me da printscreenujem, odgovor lezi u gore pomenutim linkovima.
Radim seminarski pa me zaintrigirali meniji kojih nema u VS.net, bar ne u verziji koju ja imam. Ne bavim se app.Windows programiranjem pa sam se upustio u ovu tematiku informativno i jer me zanima kako da mi aplikacija izgleda bolje.
Re: Interface komponente za C#? 11.08.2004. u 01:31 · pre 270 meseci #6
eeeevo i slike ovde:
http://www.zrenjanin.biz/linkoovi/avp.gif
meni sa leve strane je jedna stvar a druga, posto iz baze (access) izvlacim podatge u DataGrid, tabela koja se prikaze je onako najobicnija kkao u accessu, ja hocu da mi tabela bude sirine 100% znaci kako se prozor siri da se i celije sire, i da specifican vertikalni red ima recimo posebnu sirinu. Igrao sam se sa DataGrid property ali nisam uspeo da to sredim, pa me zanima da li za to treba posebna komponenta, plagin ..... aili neko resenje koje ja ne znam?
Re: Interface komponente za C#? 11.08.2004. u 11:55 · pre 270 meseci #7
Pozdrav,

Vecinu ovoga sto spominjes za grid mozes sam uraditi, za ovo drugo ne znam ali sigurno ima resursa na webu. Ja sam se malo

igrao sa gridovima. Evo malo koda sto moze pomoci
Neki custom grid:
Code:

public class NGGrid : DataGrid
{
    int lastWidth, lastHeight = 0;

    // Ovo selektuje citav red    
    protected override void OnCurrentCellChanged(EventArgs e)
    {
        this.Select(this.CurrentRowIndex);
    }

    // Hvata pocetne dimenzije grida,
    // i radi Selektovanje vrste inicijalno
    protected override void OnVisibleChanged(EventArgs e)
    {
        lastWidth = ClientSize.Width;
        if (this.RowHeadersVisible)
            lastWidth -= this.RowHeaderWidth;
        lastHeight = ClientSize.Height;
        if (this.CurrentRowIndex > -1)
            this.Select(this.CurrentRowIndex);
    }

    // Ovo ako se grid rasiruje, uskladjivanje sirine kolona.
    //Nije bas najpreciznije odradjeno, ali ako te zanima igraj se

    protected override void OnSizeChanged(EventArgs e)
    {
        if (lastWidth != 0)
        {
            for (int i = 0; i < this.TableStyles.Count; i++)
            {
                for (int j = 0; j < t his.TableStyles[i].GridColumnStyles.Count; j++)
                {
                    DataGridColumnStyle dgCol = this.TableStyles[i].GridColumnStyles[j];
                    int newWidth = ClientSize.Width;
                    if (this.RowHeadersVisible)
                        newWidth -= this.RowHeaderWidth;                        
                    dgCol.Width = newWidth * dgCol.Width / lastWidth;
                    
                }
            }
        }
        lastWidth = ClientSize.Width;
        if (this.RowHeadersVisible)
            lastWidth -= this.RowHeaderWidth;
        lastHeight = ClientSize.Height;
        base.OnSizeChanged(e);
    }
}

private NGGrid dg;

public Form1()
{
    InitializeComponent();
    try
    {            
        string connString = "Data Source=localhost;database=Sample;user id=sa;";
        SqlConnection conn = new SqlConnection(connString);
        SqlCommand cmd = new SqlCommand("SELECT TOP 20 * FROM mesta", conn);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        da.Fill(ds,"mesta");
        this.dg = new NGGrid();
        dg.Size = new Size(330,300);
        dg.Location = new Point(10,10);
        dg.Anchor = AnchorStyles.Left |
                          AnchorStyles.Right |
                          AnchorStyles.Top |
                          AnchorStyles.Bottom;
        this.Controls.Add(dg);
        dg.SetDataBinding(ds,"mesta");
        dg.TableStyles.Add(CreateColumns());
    }
    catch (SqlException ex)
    {
        MessageBox.Show(ex.Message+"\n"+ex.Errors[0].Message);
    }
}

private DataGridTableStyle CreateColumns()
{
    DataGridTableStyle dgStyle = new DataGridTableStyle();

    DataGridTextBoxColumn dgCol = new DataGridTextBoxColumn();
    dgCol.MappingName = "naziv";
    dgCol.HeaderText = "Naziv";
    dgCol.Alignment = HorizontalAlignment.Left;
    dgCol.Width = 150; 
    dgCol.ReadOnly = false;
    dgStyle.GridColumnStyles.Add(dgCol);

    dgCol = new DataGridTextBoxColumn();
    dgCol.MappingName = "regija";
    dgCol.HeaderText = "Regija";
    dgCol.Alignment = HorizontalAlignment.Left;
    dgCol.Width = 120; 
    dgCol.ReadOnly = false;
    dgCol.TextBox.KeyDown += new KeyEventHandler(ColTextBox_KeyDown);
    dgStyle.GridColumnStyles.Add(dgCol);
    dgStyle.MappingName = "mesta";

    return dgStyle;
}


Za sirinu jednog rowa ide malo komplikovanije, pogledaj na http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#q1075q. Inace

na toj stranici imas dosta oko grida, a i na googletu. Mozes pogledati i www.codeproject.com , ima dosta primjera.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme