Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Word Processor!
sabato 04 agosto 2007 - 09.14
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
lucag.
Profilo
| Newbie
45
messaggi | Data Invio:
sab 4 ago 2007 - 09:14
Ciao a tutti, sto crendo in VB Express 2005 un word processor, vorrei qualche consiglio o un tutorial per crearlo al meglio. Perchè, per ora, ho, la casella di testo, il pulsante salva, il pulsante stampa, e un sistema di controllo grammaticale. Ma vorrei aggiungere qualcosa sulla formattazione.....come la dimensione del carattere, il font (Times New Roman, ....), grassetto-corsivo-sottolineato, e , se proprio si riesce, anche se posizionare il testo centrato, o allineato a destra o sinistra.
Grazie mille per l'aiuto!
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
lun 6 ago 2007 - 20:24
Ciao,
scusa se non ti ho risposto prima ma sono in ferie e passo poco tempo al PC.
Prima di tutto devi utilizzare una RichTextBox e non una TextBox in quanto riesci a gestire la formattazione differenziata delle selezioni.
Ti rimando ad alcuni thread in cui trovi indicazioni su come procedere:
1. Modifica font per il testo selezionato
http://www.dotnethell.it/forum/messages.aspx?ThreadID=17068
2. Stampare il contenuto della RichTextBox
http://www.dotnethell.it/forum/messages.aspx?ThreadID=17068
3. Salvare il contenuto della RichTextBox
http://www.dotnethell.it/forum/messages.aspx?ThreadID=16990
Dai un'occhiata, se hai bisogno di chiarimenti sono a disposizione.
Ciao
Alessandro
lucag.
Profilo
| Newbie
45
messaggi | Data Invio:
mar 7 ago 2007 - 08:52
Grazie per il tuo aiuto, era proprio quello che mi serviva!
Approfitto della tua gentilezza, per chiederti ancora alcune cose:
1) come realizzo una finestra di dialogo che si apra quando si clicca sul pulsante di chiusura del programma ( X ), chiedendo se si conferma la chiusura con un pulsante Si (confermo) o No (non confermo)???
2) come creo un pulsante UnDo per tornare alle modifiche precedenti, e un pulsante Select All???
3) come creo 3 pulsanti per modificare il grassetto, corsivo e sottolineato???
4)Infine, come faccio per avere una finestrina (qualcosa tipo l'AboutBox), che all'avvio del programma si apra, rimanga per....2 secondi, e poi sparisca, lasciando solo il mio word processor???
Mi scuso per le tante (e magari troppe!) domande che ti ho fatto.....
Grazie grazie Grazie|
luke82
Profilo
| Newbie
9
messaggi | Data Invio:
mar 7 ago 2007 - 13:51
1)Nella FormClosing inserisci:
dim choice as dialogresult = messagebox.Show("chiudere l'applicazione?","Conferma operazione",MessageBoxButtons.YesNo)
if choice = Windows.Forms.DialogResult.No Then
e.cancel = true
Endif
2)La RitchTextBox ha la funzione Undo e SelectAll per fare quello che chiedi.
3) Nei link proposti non c'è? adesso a memoria non ricordo come fare, ma basta una semplice ricerca.
4)SplashScreen si chiama. Devi creare una nuova Form alla quale devi togliere il bordo ed inserire un Timer che dopo n secondi ti fa me.close
Se vuoi caricare prima lo splashScreen e poi l'applicazione devi impostare la nuova Form come Oggetto di avvio della tua applicazione, altrimenti ti richiami lo SplashScrren direttamente nella Load del form principale della tua applicazione.
Ciao
lucag.
Profilo
| Newbie
45
messaggi | Data Invio:
mar 7 ago 2007 - 18:34
Ciao. Grazie anche per queste ultime informazioni.
Ora, mentre compilo il codice, ho trovato un problema nel sistema di salvataggio.
Ho creato la mia SaveFileDialog, ma non sono riuscito ad abbinare il codice per il salvataggio in formato .doc, come faccio?
Ecco il codice attuale che ho, per piacere, indicatemi cosa aggiungere....grazie!
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SaveFileDialog1.ShowDialog()
End Sub
Private Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs)
End Sub
End Class
Mentre, scusate l'ignoranza, dove si trova l'impostazione dell'oggetto d'avvio??? Grazie
luka82
Profilo
| Junior Member
156
messaggi | Data Invio:
mar 7 ago 2007 - 20:00
il file verrà salvato nel formato RTF, che puoi anche aprire con Word...
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SaveFileDialog1.ShowDialog()
richTextBox.SaveFile(savefiledialog1.filename)
End Sub
Mentre, scusate l'ignoranza, dove si trova l'impostazione dell'oggetto d'avvio??? Grazie
>
>Mentre, scusate l'ignoranza, dove si trova l'impostazione dell'oggetto
>d'avvio??? Grazie
Dal menu Progetto->Opzioni del progetto(è l'ultima voce del menu) e nella finestra che si apre modifica il nome dell'oggetto di avvio.
Ciao
lucag.
Profilo
| Newbie
45
messaggi | Data Invio:
mer 8 ago 2007 - 10:24
Grazie. Ottime soluzioni!
Per quanto riguarda la finestra all'apertura ho impostato come oggetto d'apertura form1, poi, ho messo in Load del form1, SplashScreen1.Show, solo che appare per........meno di un secondo...io vorrei che stesse lì, 2-3 secondi......come faccio???
Poi....tutto il resto va molto molto bene....
Vorrei fare in modo che, il mio programmino potesse aprire file di testo, rtf e (forse) doc (se non si può non c'è problema...), ho già creato il bottone, e la OpenFileDialog1, che codice aggiungo?
Per il select Alle Undo, cosa faccio?
E infine, ho messo il font dialog e tutto, ma, quando apro il mio programmino, e scrivo qualcosa, non faccio a tempo a scrivere una parola, che continua ad aprirmi il font dialog, perchè?
Ti metto qui sotto il codice di tutto....
Grazie mille!!!!!!
Dimenticavo, con la funzione salva, quando invece che far clic su salva, si fa click su annulla, salta tutto......
________________________________________________________________________________________
Public Class Form1
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Dim choice As DialogResult = MessageBox.Show("chiudere l'applicazione?", "Conferma operazione", MessageBoxButtons.YesNo)
If choice = Windows.Forms.DialogResult.No Then
e.Cancel = True
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SplashScreen1.Show()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SaveFileDialog1.ShowDialog()
RichTextBox1.SaveFile(SaveFileDialog1.FileName)
End Sub
Private Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
FontDialog1.ShowDialog()
End Sub
Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
' Apre il fontdialog e in caso di conferma del font selezionato modifica il font relativo al testo selezioanto nella richtextbox
If Me.FontDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
Me.RichTextBox1.SelectionFont = Me.FontDialog1.Font
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
End Sub
Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
End Sub
End Class
________________________________________________________________________________
Graziiieee
luka82
Profilo
| Junior Member
156
messaggi | Data Invio:
mer 8 ago 2007 - 13:54
>>Per quanto riguarda la finestra all'apertura ho impostato come oggetto d'apertura form1, poi, ho messo in Load del form1, >>SplashScreen1.Show, solo che appare per........meno di un secondo...io vorrei che stesse lì, 2-3 secondi......come faccio???
Allora, due strade:
Nel Form_Load del Form principale fai:
SplashScreen.ShowDialog
Seconda Strada:
Metti SplashScreen come oggetto di avvio, e trascorsi i 3 secondi fai aprire la form principale e chiudi la SplaScreen.
In entrambe i casi devi inserire un Timer nello SplashScreen impstandolo a 3000(ossia 3 secondi)
Per il resto...fai pure una piccola ricerca...
Ciao
lucag.
Profilo
| Newbie
45
messaggi | Data Invio:
ven 10 ago 2007 - 08:48
Grazie. Ho risolto la maggior parte dei problemi, con varie ricerche. Sono riuscito a inserire un po' tutto. Ora, le uniche 2 cose che mancano sono:
1) per la splashscreen, ho avuto qualche difficoltà, io vorrei che si aprisse SOLO splashscreen1 per 3 secondi, poi, dopo i 3 secondi si chiuda e si apra SOLO il form1. Vorrei evitare che ci fossero le 2 finestre assieme.....mi potresti fornire i passi dettagliatamente o il codice? questa fase non l'ho trovata facendo le ricerche....
2) Invece, altra cosa, ho creato vari bottoni, vorrei, che quando si passa sopra, senza clickare con il mouse, appaia da qualche parte una scritta da me scelta. Come faccio?
Grazie mille!!!!
Grazie!
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
ven 10 ago 2007 - 21:36
>Grazie. Ho risolto la maggior parte dei problemi, con varie ricerche. Sono riuscito a inserire un po' tutto. Ora, le uniche 2 cose che >mancano sono:
Mi permetto di intromettermi...
>1) per la splashscreen, ho avuto qualche difficoltà, io vorrei che si aprisse SOLO splashscreen1 per 3 secondi, poi, dopo i 3 secondi >si chiuda e si apra SOLO il form1. Vorrei evitare che ci fossero le 2 finestre assieme.....mi potresti fornire i passi dettagliatamente o >il codice? questa fase non l'ho trovata facendo le ricerche....
Io farei così:
1. Crea un modulo dove inserisci una sub Main come questa:
Sub main()
Dim FrmSplash As New Splash
FrmSplash.ShowDialog() <== Visualizza la form splash e rimane in attesa che quest'ultima si chiuda
Dim FrmProva As New Prova
FrmProva.ShowDialog() <== Alla chiusura della form splash attiva la form principale
End Sub
2. Nella form splash basta che aggiungi un controllo timer e all'evento Load aggiungi il seguente codice:
Me.Timer1.Start()
3. All'evento tick del controllo timer aggiungi il seguente codice:
Dim IntSecondi as Integer
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
IntSecondi += 1
If IntSecondi = 3 Then
' Passati i tre secondi chiude la splash
Me.Close()
End If
End Sub
ATTENZIONE: La variabile IntSecondi è dichiarata a livello di form!
Si dà per inteso che tu abbia impostato la proprietà interval del timer a 1000 (1 secondo)
>2) Invece, altra cosa, ho creato vari bottoni, vorrei, che quando si passa sopra, senza clickare con il mouse, appaia da qualche >parte una scritta da me scelta. Come faccio?
Per questo c'è un magnifico controllo che si chiama ToolTip e lo trovi tra i controlli standard di VB.NET
E' molto semplice da usare, se hai dubbi sono a disposizione.
>Grazie mille!!!!
>Grazie!
Di nulla, ciao
Alessandro
lucag.
Profilo
| Newbie
45
messaggi | Data Invio:
sab 11 ago 2007 - 07:37
Ciao, grazie mille per esserti "intromesso"!
Allora, con il sistema della form Splash, non ha funzionato.........non conviene forse, che crei una semplice splashscreen, le metta un timer a 3000, e poi le metta un codice (che io non so!
), che fa chiudere splashscreen1 e che avvia form1?
Mentre, per tooltip, è esattamente ciò che mi serviva.. ma una volta che l'ho aggiunto, che codice inserisco per indicargli a che oggetto riferirsi e il testo da visualizzare?
Qual'è il miglior modo per inserire immagini in una richtext box???
Infine, qual'è il modo migliore per stampare il testo, cn formattazione, e eventualmente immagini??? Ho visto altri theread dedicati a questo, ma non ho capito molto.......
Grazie mille
lucag.
Profilo
| Newbie
45
messaggi | Data Invio:
ven 17 ago 2007 - 08:08
Sono riuscito a risolvere con la stampa, cercando da un tuo altro post.
Invece per la SplashScreen e il ToolTipè non sono riuscito.
Qual'è il miglior modo per inserire immagini in una richtext box???
Grazie!
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
mar 21 ago 2007 - 14:14
>Sono riuscito a risolvere con la stampa, cercando da un tuo altro post.
Bene!
>Invece per la SplashScreen e il ToolTipè non sono riuscito.
Per il ToolTip è davvero semplice da ulitizzare. Trascini il controllo ToolTip nel tuo Form, poi vai nelle proprietà del controllo sul quale vuoi far apparire il Tip e imposti la porprietà ToolTip con il testo che vuoi visualizzare.
Per la SplashScreen, il metodo che ti ho indicato prima l'ho accuratamente testato e collaudato e funziona bene, fammi sapere dove ti si presenta il problema così vedo di aiutarti.
>Qual'è il miglior modo per inserire immagini in una richtext box???
Ti rimando a questo link dove trovi un esempio su come inserire un'immagine in una RichTextBox
http://blog.shareoffice.it/ivangentile/archive/2006/01/21/3721.aspx
>Grazie!
Di nulla, ciao
Alessandro
lucag.
Profilo
| Newbie
45
messaggi | Data Invio:
lun 27 ago 2007 - 11:41
Grazie mille, allora:
Per tooltip e splashscreen, ho sistemato tutto. Grazie!
Ora, mi sono accorto di un errore: il mio sistema di apertura file rtf in richtextbox1, manifesta dei problemi: se dalla finestra di dialogo seleziono un file rtf, e clicco su apri, tutto ok. L'errore si manifesta se clicco su "Annulla". Altra cosa, che vorrei sistemare, è che quando dalla fienstra di dialogo devi inserire il nome del file da aprire, lui, di "default", scrive "Openfiledialog1", che quindi ogni volta devo cancellare per digitare il nome. Ecco il codice:
____
Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
If RichTextBoxPrintCtrl1.Modified Then
Dim answer As Integer
answer = MessageBox.Show("Il documento non è stato salvato, continuare senza salvarlo?", "Documento non salvato", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If answer = Windows.Forms.DialogResult.No Then
Exit Sub
Else
OpenFile()
End If
Else
OpenFile()
End If
End Sub
Private Sub OpenFile()
OpenFileDialog1.Title = "Apri documento..."
OpenFileDialog1.DefaultExt = "rtf"
OpenFileDialog1.Filter = "Rich Text Files|*.rtf|Text Files|*.txt|HTML Files|*.htm|All Files|*.*"
OpenFileDialog1.FilterIndex = 1
OpenFileDialog1.ShowDialog()
If OpenFileDialog1.FileName = "" Then Exit Sub
Dim strExt As String
strExt = System.IO.Path.GetExtension(OpenFileDialog1.FileName)
strExt = strExt.ToUpper()
Select Case strExt
Case ".RTF"
RichTextBoxPrintCtrl1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.RichText)
Case Else
Dim txtReader As System.IO.StreamReader
txtReader = New System.IO.StreamReader(OpenFileDialog1.FileName)
RichTextBoxPrintCtrl1.Text = txtReader.ReadToEnd
txtReader.Close()
txtReader = Nothing
RichTextBoxPrintCtrl1.SelectionStart = 0
RichTextBoxPrintCtrl1.SelectionLength = 0
End Select
currentFile = OpenFileDialog1.FileName
RichTextBoxPrintCtrl1.Modified = False
Me.Text = "Editor - " & currentFile.ToString()
End Sub
_______________
Grazie!!!
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
lun 27 ago 2007 - 11:52
>Grazie mille, allora:
>Per tooltip e splashscreen, ho sistemato tutto. Grazie!
Bene. Una cosa che ho scoperto da poco. Se usi VB.NET 2005, nelle proprietà del progetto, si può indicare una form come 'schermata iniziale'. Provala.
>Ora, mi sono accorto di un errore: il mio sistema di apertura file rtf in richtextbox1, manifesta dei problemi: se dalla finestra di >dialogo seleziono un file rtf, e clicco su apri, tutto ok. L'errore si manifesta se clicco su "Annulla". Altra cosa, che vorrei sistemare, è >che quando dalla fienstra di dialogo devi inserire il nome del file da aprire, lui, di "default", scrive "Openfiledialog1", che quindi ogni >volta devo cancellare per digitare il nome. Ecco il codice:
Me.OpenFileDialog1.FileName = "" <== Cancella il nome file predefinito
Dim Result As DialogResult = Me.OpenFileDialog1.ShowDialog() <== Memorizza il risultato della FormDialog
If Result = Windows.Forms.DialogResult.OK Then
'...
' Apri il file
'...
ElseIf Result = Windows.Forms.DialogResult.Cancel Then
'...
' Annulla l'operazione
'...
End If
Ciao
Alessandro
http://blogs.dotnethell.it/alebadalin
lucag.
Profilo
| Newbie
45
messaggi | Data Invio:
lun 27 ago 2007 - 13:20
Grazie. Ma quindi come deve essere il codice corretto?
Grazie!
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
lun 27 ago 2007 - 13:33
Modifico il tuo codice:
Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
If RichTextBoxPrintCtrl1.Modified Then
Dim answer As Integer
answer = MessageBox.Show("Il documento non è stato salvato, continuare senza salvarlo?", "Documento non salvato", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If answer = Windows.Forms.DialogResult.No Then
Exit Sub
Else
OpenFile()
End If
Else
OpenFile()
End If
End Sub
Private Sub OpenFile()
OpenFileDialog1.Title = "Apri documento..."
OpenFileDialog1.DefaultExt = "rtf"
OpenFileDialog1.Filter = "Rich Text Files|*.rtf|Text Files|*.txt|HTML Files|*.htm|All Files|*.*"
OpenFileDialog1.FilterIndex = 1
******************** RIGHE MODIFICATE***********************
OpenFileDialog1.Filename=""
Dim Result As DialogResult = Me.OpenFileDialog1.ShowDialog() <== Memorizza il risultato della FormDialog
If Result = Windows.Forms.DialogResult.OK Then
If Me.OpenFileDialog1.FileName="" then Exit sub
ElseIf Result = Windows.Forms.DialogResult.Cancel Then
Exit sub
End If
***********************************************************
Dim strExt As String
strExt = System.IO.Path.GetExtension(OpenFileDialog1.FileName)
strExt = strExt.ToUpper()
Select Case strExt
Case ".RTF"
RichTextBoxPrintCtrl1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.RichText)
Case Else
Dim txtReader As System.IO.StreamReader
txtReader = New System.IO.StreamReader(OpenFileDialog1.FileName)
RichTextBoxPrintCtrl1.Text = txtReader.ReadToEnd
txtReader.Close()
txtReader = Nothing
RichTextBoxPrintCtrl1.SelectionStart = 0
RichTextBoxPrintCtrl1.SelectionLength = 0
End Select
currentFile = OpenFileDialog1.FileName
RichTextBoxPrintCtrl1.Modified = False
Me.Text = "Editor - " & currentFile.ToString()
End Sub
Il resto dovrebbe andar bene. Prova e fammi sapere.
Ciao
Alessandro
http://blogs.dotnethell.it/alebadalin
lucag.
Profilo
| Newbie
45
messaggi | Data Invio:
dom 16 set 2007 - 06:49
Allora: ho provato il tuo codice, ma mi da degli errori...ma forse ho sbagliato io le correzioni....Potresti, trasformarmi il mio codice originale, in quello corretto, così posso direttamente sostituirlo?
Grazie!
COdice Originale--------------------------------------
Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
If RichTextBoxPrintCtrl1.Modified Then
Dim answer As Integer
answer = MessageBox.Show("Il documento non è stato salvato, continuare senza salvarlo?", "Documento non salvato", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If answer = Windows.Forms.DialogResult.No Then
Exit Sub
Else
OpenFile()
End If
Else
OpenFile()
End If
End Sub
Private Sub OpenFile()
OpenFileDialog1.Title = "Apri documento..."
OpenFileDialog1.DefaultExt = "rtf"
OpenFileDialog1.Filter = "Rich Text Files|*.rtf|Text Files|*.txt|HTML Files|*.htm|All Files|*.*"
OpenFileDialog1.FilterIndex = 1
OpenFileDialog1.ShowDialog()
If OpenFileDialog1.FileName = "" Then Exit Sub
Dim strExt As String
strExt = System.IO.Path.GetExtension(OpenFileDialog1.FileName)
strExt = strExt.ToUpper()
Select Case strExt
Case ".RTF"
RichTextBoxPrintCtrl1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.RichText)
Case Else
Dim txtReader As System.IO.StreamReader
txtReader = New System.IO.StreamReader(OpenFileDialog1.FileName)
RichTextBoxPrintCtrl1.Text = txtReader.ReadToEnd
txtReader.Close()
txtReader = Nothing
RichTextBoxPrintCtrl1.SelectionStart = 0
RichTextBoxPrintCtrl1.SelectionLength = 0
End Select
currentFile = OpenFileDialog1.FileName
RichTextBoxPrintCtrl1.Modified = False
Me.Text = "Editor - " & currentFile.ToString()
End Sub
-----------------------------------------
Grazie!
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
dom 16 set 2007 - 17:06
Dove ti dà errore?
http://blogs.dotnethell.it/alebadalin
lucag.
Profilo
| Newbie
45
messaggi | Data Invio:
mar 18 set 2007 - 17:38
Secondo me gli errori sono dovuti a degli errori nel inserire il codice....Puoi ripetermi il codice corretto, da SOSTITUIRE a quello attuale?
Grazie
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !