Dessiner que la bordure extérieure pour TableLayoutPanel Cellules
Je suis en utilisant le TableLayoutPanel par exemple, si j'ai 3 lignes et 5 colonnes. Je veux dessiner le contour extérieur pour l'ensemble du groupe. Par défaut, le panneau permet de CellBorderStyle qui ajoute toutes les frontières à toutes les cellules disponibles. Est-il possible où l'on peut définir uniquement à l'extérieur des frontières?
J'ai fourni un exemple de code ci-dessous.
TableLayoutPanel tblPanel = new TableLayoutPanel;
tblPanel.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single;
Label lblName;
TextBox txtName;
Button btnAdd;
int colCnt = 0;
for(int rw =0; rw < 3; rw++)
{
lblName = new Label();
lblName.Name = "mylabel" + rw.ToString();
tblPanel.Controls.Add(lblName, colCnt, rw);
colCnt++;
txtName = new TextBox();
txtName.Name = "mytext" + rw.ToString();
tblPanel.Controls.Add(txtName, colCnt, rw);
colCnt++;
btnAdd = new Button();
btnAdd.Name = "mybutton" + rw.ToString();
tblPanel.Controls.Add(btnAdd, colCnt, rw);
colCnt = 0;
}
Vous êtes peu probable d'obtenir de bonnes réponses, si vous ne fournissez pas les plus de contexte. Qu'avez-vous déjà essayé?
Yah, j'ai juste reproché de lui, mais laissons-lui une chance.
Yah, j'ai juste reproché de lui, mais laissons-lui une chance.
OriginalL'auteur user1417294 | 2012-09-24
Vous devez vous connecter pour publier un commentaire.
Je vois que vous êtes un tout nouveau poster. Le code de conduite ici, c'est que vous êtes vraiment censé montrer ce que VOUS avez essayé, et de préciser les questions techniques. Pas juste de poser la question de cette façon (spécialement ceux qui vous font paraître comme vous n'avez même pas essayé quoi que ce soit).
Cela dit, et d'essayer de vous aider, vous seriez mieux de la peinture de la cellule frontière de vous-même. Ce de quelque chose le long des lignes suivantes, puis personnaliser:
Au moment de la conception:
Au moment de l'exécution:
ne le prenez pas mal.
<off-topic>
maintenant, d'aller un peu hors-sujet, tout le monde peut poser des questions, même de la paresse et mal conçu... il suffit de ne pas s'attendre à obtenir trop de respect... beaucoup moins une réponse (qu'il a obtenu.) code enthousiasme est la seule chose qui est visible ici.</off-topic>
Je suis allé vérifier l'historique d'édition de la question. Maintenant je vois pourquoi vous n'étiez pas heureux avec la question d'origine. 🙂
Pouvez-vous dire comment cette ligne semble en VB .net?
this.tableLayoutPanel.CellPaint += tableLayoutPanel_CellPaint;
Merci beaucoup!OriginalL'auteur Fernando Espinosa
TableLayoutPanel, dans les faits, le soutien à la propriété BorderStyle, qui est ce que vous voulez. Par exemple:
https://msdn.microsoft.com/en-us/library/system.windows.forms.tablelayoutpanel.borderstyle(v=vs. 110).aspx
Il est décoré avec:
Donc Intellisense ne l'affiche pas pour vous, mais il est documenté et il fonctionne. J'ai aucune idée de pourquoi il est non navigable.
OriginalL'auteur toquehead
TableLayOutPanel lui-même ne prend pas en charge une propriété de la frontière, à l'exception de CellBorderStyle qui n'est pas ce que vous voulez.
Je vous suggère de mettre votre TableLayOutPanel dans un Panneau de contrôle et de définir propriété Dock de votre TableLayOutPanel à Remplir.
Puis Définissez BorderStyle de la commission pour ce que vous voulez (FixedSingle ou Fixed3D)
OriginalL'auteur n3verLieMe
Vous pouvez atteindre par la modification de la propriété CellBorderStyle à un Seul ou de sélection souhaitée.
Changement De Propriété :
Exemple :
OriginalL'auteur pot