Tablelayoutpanel

Signaler
Messages postés
3
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009
-
Messages postés
3
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009
-
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

Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
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 />
Messages postés
3
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009

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
Messages postés
3
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009

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.