Pytanie : Ho Ty Tworzyć linia czasu Planista/dzienniczek w vb.net

CZEŚĆ I chcieć linia czasu the wydarzenie dla the dzień. I nie mieć pojęcia gdzie lub dlaczego wokoło ono. I myśleć móc wykres ale I chcieć ludzie sprawnie - i - opadowy zbliżać wewnątrz i out.
I tylko robić baza danych apps więc ten jeden być krzywa uczenia się. Ale jeżeli który móc w the właściwa wskazówka i jakaś propozycja który być wielki.
This być szerokość I chcieć create
 314709

Odpowiedź : Ho Ty Tworzyć linia czasu Planista/dzienniczek w vb.net

Czas linia być prostokąt, wtedy using:
    g.FillRectangle (hb, r) dokąd - g - Grafika, Hb - Szczotkować, r - prostokąt

Eval prostokąt coordinates, ty potrzebować
   DateScrMin, DateScrMax - Daktylowy ograniczenie dla parawanowy teren. Gdy zoom ty zmieniać ograniczenie.
   Ciemnawy Kt Pojedynczy = (DateScrMax.ticks - DateScrMin.ticks)/WidthScreenArea

  Teraz dla interwał Date1-Date2:
      xDate1 = ScreenArea.Left + Kt * (Date1.ticks - DateScrMin.ticks)
      barWidth= Kt * (Date2.ticks - Date1.ticks)

The próbka kod Kalendarzowy chodnikowiec, remis Ćma dzień i Projekt dzień.
Ono używać czerwony kolor dla Niedziela i holydays, Błękitny dla Sobota.
W ten kod, I do´n use Data Typ, I używać FechaCpm Typ (minuta) Date.Ticks/Timespan.ticksPerMinute
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
 'Dibujar Calendario
      Ciemnawy dmin Jako Integer = FCalMin.Dia, xref Jako Kopia = FCalMin.value * Kt - R_Cal.X
      Ciemnawy dMax Jako Integer = FscrMax.Dia
      Ciemnawy ktd Jako Kopia = Kt * 1440 'Piksel por día

      y0 = R_Cal.Y: y1 = R_Cal.Bottom - 2: x = R_Cal.X
      g.FillRectangle (Brushes.White, R_Cal)
      DrawHline (g, y1) 'Línea podwładny
      DrawHline (g, R_GrAct.Bottom) 'Línea podwładny

      x - = (1): g.DrawLine (Pens.Black, x, y0, x, y1)
      'x - = 2: g.DrawLine (Pens.Black, x, y0, x, y1) 'Izda Calendario

      Ciemnawy x0 Jako Integer = R_Cal.X, x1 Jako Integer
      ta. Wyrównanie = StringAlignment.Center
      Dla D Jako Integer = dmin DMax
         x1 = CInt ((D + 1) * ktd - xref) 'Jeżeli D < dMax="" Then="">= (0) Wtedy n += (1)
         s = n.ToString
         Jeżeli (s.Length * tw)  <>
           
Inne rozwiązania  
 
programming4us programming4us