Entwickler-Ecke

Sonstiges (.NET) - Frage in Bezug auf das Erstellen eines Layouts in gtk#


DT64 - Do 04.05.17 18:13
Titel: Frage in Bezug auf das Erstellen eines Layouts in gtk#
Meine Absicht ist es, ein layout derart zu ertsellen, dass ich eine VBox und eine Table untereinander setze - dies tue ich in der Methode "createBasicLayout" - dort will ich in Zeie 19 die VBox, dann in zeile 23 die Table zum Window hinzufügen. Wenn ich Zeile 19 und 20 auskommentiere, dann sehe ich auch das Table-Layout. Aber wenn ich Zeile 19 und 20 hinzufüge (also nicht auskommentiere), ist das Fenster nach dem Ausführen des Programmes grau, d. h. man sieht nichts. Ich verstehe nicht ganz, was ich falsch mache, denn die beiden Layoutelemente sollten ja untereinander gesetzt werden können. Kann mir jemand eventuell einen Tipp oder ein Stichwort geben, denn mit Recherchen komme ich leider nicht weiter.


C#-Quelltext
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:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
using System;
using Gtk;

  class MainClass
  {


  //One of several possible layouts.
  static void createBasicLayout(MainWindow win){
  
    VBox   box = new VBox (true0);


    Table table = new Table (2,2,true);
    table.Attach(new Button("send file"), 1201);
  
             
               //Hier will ich die Box hinzufügen.
    win.Add (box);
    box.Show ();

                //Hier soll dann die Table darunter kommen.
    win.Add (table);
    table.Show ();
  
  }

    public static void Main (string[] args)
    {
      Application.Init ();
      MainWindow win = new MainWindow ();
        win.Resize(500,400);
        win.Title = "";

        createBasicLayout (win);       

      win.ShowAll ();
      Application.Run ();
    }
  }



Moderiert von user profile iconTh69: Topic aus C# - Die Sprache verschoben am Fr 05.05.2017 um 09:24


Delete - Do 04.05.17 18:44

- Nachträglich durch die Entwickler-Ecke gelöscht -


Ralf Jansen - Do 04.05.17 19:28

Ohne gtk# Erfahrung rate ich mal das ein Window in gtk Controls die man ihm hinzufügt hintereinander(nicht untereinander) stapelt. Du müsstest also erst ein Control hinzufügen das das passende "ordne Controls untereinander" Layout hat und dem dann die VBox und den Button hinzufügen (Möglicherweise ist das eine VBox).

Wenn ich recht habe und die hintereinander gestapelt werden sollte man das schnell herausfinden können in dem du die Aufrufreihenfolge der beiden Show() Aufrufe mal tauscht.


DT64 - Fr 05.05.17 17:02

@Ralf Jansen - stimmt, ich werde nun versuchen, alles in ein Tablelayout zu packen. :) Vielen Dank für die Antworten.