2014-09-06 3 views
1

방금 ​​gtk #을 사용하기 시작했는데 간단한 문제로 약간의 문제가 있습니다. 새 프로젝트를 시작할 때 MainWindow의 Designer를 사용하여 hbox/vbox를 사용하여 기본 UI를 만들고 "행 추가"버튼과 테이블의 헤더로 구성된 1 행 테이블을 만들었습니다.gtk # 버튼 클릭시 위젯 추가

문제는 단추를 클릭 할 때 동적으로 테이블에 행을 추가하는 방법을 알 수 없다는 것입니다.

사이드 노트 : Designer의 내 테이블에 "table4"라는 라벨이 지정되어 있지만 액세스 방법을 알 수 없습니다. 제대로 액세스하는 방법에 대한 도움말을 얻을 수있게되면 일단 높이, 여백 등을 지정할 수있는 AddRow 함수가 있어야합니다.

도움 주셔서 감사합니다.

Program.cs :

using System; 
using Gtk; 

namespace PMA 
{ 
    class MainClass 
    { 
     public static void Main (string[] args) 
     { 
      Application.Init(); 

      //create main window 
      MainWindow win = new MainWindow(); 

      Application.Run(); 
     } 
    } 
} 

MainWindow.cs :

using System; 
using Gtk; 
public partial class MainWindow: Gtk.Window 
{ 
    public MainWindow() : base (Gtk.WindowType.Toplevel) 
    { 
     Build(); 
    } 

    protected void OnDeleteEvent (object sender, DeleteEventArgs a) 
    { 
     Application.Quit(); 
     a.RetVal = true; 
    } 

    private void AddButtonPressHandler (object obj, EventArgs args) 
     { 
      Console.WriteLine("This works, but can't figure out how to dynamically add a row to MainWindow's table"); 
     } 
} 

답변

0

이 방법으로 문제가 해결하지만 난 당신이 단순히 NROWS 속성을 증가시킬 수 있다고 생각한다면 모르겠어요. MainWindow.cs에 AddButtonPressHandler 메서드 대신이 메서드를 추가하십시오.

private void AddButtonPressHandler (object obj, EventArgs args) 
{ 
     table4.NRows ++; 
} 

나는 제대로 작동하기를 바랍니다.