Mettre des tab dans un richtextbox

Résolu
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 - 24 janv. 2007 à 22:56
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 - 25 janv. 2007 à 19:37
Bonjour

Je souhaite faire un tableau dans un richtextbox, pour afficher des inventaires et pouvoir les imprimer.

Voici un exemple de mon travail.

Par contre je souhaite aligner mes tabulations , pour que les signes | soient alignés.
 RichTextBox1.SelectionIndent 30 : RichTextBox1.SelectedText CODEPLU            RichTextBox1.SelectedText vbTab : RichTextBox1.SelectedText " | "            RichTextBox1.SelectedText vbTab : RichTextBox1.SelectedText DESIGN ': Espace(nbDES)

J'ai essayé vbTab(10), mais j'ai une erreur "L'index se trouve en dehors du tableau"

Merci de m'aider je ne c'est pas quoi faire continuer avec Richtextbox ou un autre controle ????
Je developpe en VB2005 express

MANUANTIBES [:p]

6 réponses

Utilisateur anonyme
25 janv. 2007 à 11:32
Un petit exemple (pas très bien fait, c'est juste pour te mettre sur la voie) :

Private Tab(,) As String = {{"Ligne 1", "Colonne 12", "Colonne 13"}, {"Ligne 2", "Colonne 22", "Colonne 23"}}

Private Sub DrawTab(ByVal g As System.Drawing.Graphics)
  Const RowHeight As Integer = 20
  Const ColWidth As Integer = 90
  For iRow As Integer = 0 To Tab.GetUpperBound(0)
    g.DrawLine(System.Drawing.Pens.Black, 0, (iRow + 1) * RowHeight, g.ClipBounds.Width, (iRow + 1) * RowHeight)
    For iCol As Integer = 0 To Tab.GetUpperBound(1)
      g.DrawString(Tab(iRow, iCol), MyBase.Font, System.Drawing.Brushes.Black, iCol * ColWidth + 3, iRow * RowHeight + 3)
  Next iCol, iRow
  For iCol As Integer = 0 To Tab.GetUpperBound(1)
    g.DrawLine(System.Drawing.Pens.Black, (iCol + 1) * ColWidth, 0, (iCol + 1) * ColWidth, g.ClipBounds.Height)
  Next iCol
End Sub

Private Sub PicTab_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PicTab.Paint
  Call DrawTab(e.Graphics)
End Sub

' Pour imprimer (on utilise un PrintDocument)
Private Sub TonPrintDocument_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles TonPrintDocument.PrintPage
  Call DrawTab(e.Graphics)
End Sub, ----
(Coloration syntaxique automatique par Kenji)

__________
Kenji
3
Utilisateur anonyme
24 janv. 2007 à 23:07
Salut,

En effet, je ne pense pas qu'une RichTextBox soit bien approprié pour ca.
Le mieux, je pense, et de dessiner toi même ton tableau avec les outils du gdi.
Si tu dessine dans une PictureBox que tu place dans une panel avec AutoScroll, sa te placera tout seul la ScrollBar.






__________
Kenji
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
25 janv. 2007 à 06:40
Oui ou utiliser directement les outils de reporting qui sont fait pour cà, ce sera bien plus simple !
0
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 5
25 janv. 2007 à 07:15
Merci pour vos reponses.

Pour la reponse de Charles Racaud, c'est quoi le gdi ??? , et si je place le tous dans une picturebox est ce que je vais pouvoir imprimer toutes les lignes ???

Pour la reponse de DARKISIDIOUS , je suis avec la version express de VB 2005, je n'ai pas le reporting je crois !!!

MANUANTIBES [:p]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
25 janv. 2007 à 10:44
Pour le cas ou tu souhaiterais conserver la RTB, il te faut utiliser une police à espacement fixe style Courrier New. Mais ça sera moins joli comme affichage

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 5
25 janv. 2007 à 19:37
Merci pour ton bout de code Charles.
Ca va bien me servir
A+

MANUANTIBES [:p]
0
Rejoignez-nous