Tablelayoutpanel

cs_Loss2009
Messages postés
3
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009
- 21 janv. 2009 à 13:13
cs_Loss2009
Messages postés
3
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009
- 21 janv. 2009 à 19:26
Voila, je dois coder un kakuro, le générer (de taille variable), le résoudre et corriger les éventuels joueurs.

J'ai décidé d'utiliser des tablelayoutpanel (si il y a mieux, je suis tout ouïe) et je ne connais pratiquement aucun controle.

Il me faudrait les controles pour générer l'interface graphique d'un kakuro. Pour l'instant, j'ai un carré blanc et la ligne du haut et la colonne de gauche grisée.

Il me faudrait des traits de séparations horizontaux et verticaux et en diagonale pour chaque cellule. Et il me faudrait la commande si elle existe pour me permettre d'afficher des chiffres et celle qui permet à l'utilisateur de rentrer des chiffres.

Merci de me répondre

3 réponses

lillith212
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009

21 janv. 2009 à 13:22
Bonjour,

Je te rappelle que CS ne fournit pas de code tout cuit.
Tu ne pose pas de question !
Peux-tu nous donner ton code et nous donner ton problème? Eventuellement le message d'erreur s'il y en a un

S.L.B.
<hr />
0
cs_Loss2009
Messages postés
3
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009

21 janv. 2009 à 18:27
Je n'ai pas de message d'erreur. Je suis bloqué. Mon code c'est ça :
t = Val(TB1.Text)

'on gère les cas où on ne peut pas générer de kakuro'
If (t <= 2) Then
Label3.Visible = True
Else
'on calcule la largeur d'une des cases'
Dim v As Integer = Int(310 / t)

'on crée la boucle qui va générer les cases'
For u = 0 To t - 1
For i = 0 To t - 1
dim Kase(i,u) as tablelayoutpanel
Kase(i, u) = New TableLayoutPanel
GroupBox2.Controls.Add(Kase(i, u))
Kase(i, u).Size = New Size(v, v)
Kase(i, u).Location = New Point(20 + i * v, 20 + u * v)

'on change la couleur de fond'
If u 0 Or i 0 Then
Kase(i, u).BackColor = Color.Black
Else
Kase(i, u).BackColor = Color.White
End If
Next
Next

'on redimensionne le panel du bas (nom : kakuro)'
GroupBox2.Size = New Size(40 + v * t, 40 + v * t)
GroupBox2.Location = New Point((380 - 40 - v * t) / 2, 162)


Maintenant j'aimerais ajouter une textbox/label dans les cases pour pouvoir y afficher ce que je veux. Mais je ne connais pas la commande
0
cs_Loss2009
Messages postés
3
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009

21 janv. 2009 à 19:26
J'ai un peu avancé. Et maintenant j'ai ca :

Me.Controls.Add(Me.toto(2, 2))
Dim TB1 As New RichTextBox
TB1.Size = New Size(20, 20)
TB1.Location = New Point(0, 0)
TB1.BorderStyle = BorderStyle.None
TB1.Text = "2"
GP1.Controls.Add(TB1)
Me.toto(2, 2).Controls.Add(TB1)

toto(2,2) est un panel

J'ai le message d'erreur suivant :
La référence d'objet n'est pas définie à une instance d'un objet.
0