Grundsätzlich habe ich ein Problem mit dem Entfernen der Polsterung/Rand zwischen den Steuerelementen in einem Tableaus Panel.C# tablelayoutpanel kann Padding/Rand nicht entfernen
Ich habe den Tabellayoutpanel Rand und Padding auf 0 gesetzt. Cellborderstyle ist keine.
Hinzugefügte Steuerelemente werden für Rand und Padding auf 0 gesetzt.
Doch dieser mysteriöse Rand erscheint immer wieder. Irgendeine Hilfe?
Versucht diese 2 Lösungen hier und verschiedene andere im Web, aber keiner konnte diesen Abstand dazwischen entfernen.
Remove spacing between cells in tablelayoutpanel in Windows form?
Is there any way to control thickness of cell border in TableLayoutPanel?
auf VS2010 Rennen, .net 4,5
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Multiply {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
LoadBoard(10, 10);
}
private void LoadBoard(int col, int row) {
board.ColumnCount = col;
board.RowCount = row;
board.BorderStyle = BorderStyle.FixedSingle;
float colSize = 100f/col;
float rowSize = 100f/row;
board.ColumnStyles[0].SizeType = SizeType.Percent;
board.ColumnStyles[0].Width = colSize;
board.RowStyles[0].SizeType = SizeType.Percent;
board.RowStyles[0].Height = rowSize;
for (int x = 0; x < col; x++)
board.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, colSize));
for (int x = 0; x < row; x++) {
board.RowStyles.Add(new RowStyle(SizeType.Percent, rowSize));
for (int y = 0; y < col; y++) {
board.Controls.Add(CreateButton(x + "," + y), y, x);
}
Console.WriteLine(x);
}
}
private Button CreateButton(string text) {
Button a = new Button();
a.Text = text;
a.Dock = DockStyle.Fill;
a.Margin = new Padding(0);
a.Padding = new Padding(0);
return a;
}
}
}
Desi gner
namespace Multiply {
partial class Form1 {
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) {
if (disposing && (components != null)) {
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent() {
this.board = new System.Windows.Forms.TableLayoutPanel();
this.SuspendLayout();
//
// board
//
this.board.ColumnCount = 1;
this.board.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.board.Dock = System.Windows.Forms.DockStyle.Top;
this.board.Location = new System.Drawing.Point(0, 0);
this.board.Margin = new System.Windows.Forms.Padding(0);
this.board.Name = "board";
this.board.RowCount = 1;
this.board.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.board.Size = new System.Drawing.Size(368, 223);
this.board.TabIndex = 0;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(368, 391);
this.Controls.Add(this.board);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TableLayoutPanel board;
}
}
Vielen Dank! Das hat gut geklappt. – Tim