TableWrapData:小部件不会正确对齐

时间:2016-04-19 16:28:08

标签: layout widget

我的程序使用TableWrapLayout,并将numColumns设置为2.然后我有以下代码:(设置背景颜色以显示小部件未使用空格)。

private void insertBtn_Click(object sender, EventArgs e)
{
    // Open your connection
    using(var myConnection = new SqlCeConnection(@"Data Source=C:\Users\Saeed\Documents\Visual Studio 2012\Projects\dictionary1\dictionary1\Database1.sdf;Persist Security Info=False;"))
    {
         // Build your query
         var query = "INSERT INTO dictionary (id,enWord,faWord) VALUES (4,'pen','خودكار')"
         // Build a command to execute
         using(var myCommand = new SqlCeCommand(query,myConnection))
         {
               // Open your connection
               myConnection.Open();
               // Execute your query
               myCommand.ExecuteNonQuery();
         }
    }
}

enter image description here

然而,正如您在图片中看到的那样,组合框拒绝正确对齐。但我的意思是我希望它在标签之后立即开始,而不是有一堆空白。

一种解决方法是将行放在它自己的Composite中,就像我执行Resource Icon和Geolocation一样。但我觉得我不需要,因为此行上的小部件等于布局设置的列数。我现在已经创建了这个解决方法,但是想要了解将来的TableWrapData行为。

任何见解都会有所帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

我几乎在问题中回答了我的问题。包含图片中所有内容的复合包含TableWrapData,其列设置为2. TableWrapData实际上在每列之间绘制一条直线垂直线,然后确保来自一列的窗口小部件不会跨越它。

所以为了解决这个问题(就像我在我的问题中提到的那样),你只需要使用嵌套小部件(在这种情况下将是资源类型标签和resourceComboMenu)制作另一个合成。我只是没有意识到这就是你应该做的事情。