Newsgroup: it.comp.lang.visual-basic
Titolo: VB.NET. Debug - Sub Main - Bookmark

Salve a tutti
Ho iniziato a utilizzare 
vb.net
.
VB6
-In debug è possibile aggiungere codice
vb.net
- No ??? devo stoppare il debug
VB6
- la Sub Main
Posso inseririrla in un modulo e utilizzarla come codice di inizio programma
vb.Net
<STAThread()> Shared Sub Main()
Solo in un modulo di classe , ma di una maschera ???
e non posso chiamare Sub o Function ???
VB6
Bookmark(bandierina)
si sposta per tutto il programma
vb.net
solo nel modulo attivo  ???
Possibile ?
giuseppeD

 ha scritto nel messaggio
news:YWPx8.60572$vF6.1...@news2.tin.it...

Dimenticavo:
VB6
la maschera figlia se  Maximized
il top è al disotto della ToolBar
VB.Net
la form child per Maximized assume la dimensione delle schermo e copre sia
la ToolBar che il Menu della form MDI ???
Possibile ?
giuseppeD

e non posso chiamare Sub o Function ???
Sembra che lo faccia vb al nostro posto.
Una mini applicazione scritta in C# ed in vb (con impostato in vb  come oggetto
di partenza il fatidico Form1) produce due assembly diversi:
********** VB
.method public hidebysig static void  Main() cil managed
{
  .entrypoint
  .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = ( 01 00 00 00 ) 
  // Code size       14 (0xe)
  .maxstack  8
  IL_0000:  nop
  IL_0001:  newobj     instance void WinApp_vb.mdiMain::.ctor()
  IL_0006:  call       void [System.Windows.Forms]System.Windows.Forms.Application::Run(class [System.Windows.Forms]System.Windows.Forms.Form)
  IL_000b:  nop
  IL_000c:  nop
  IL_000d:  ret
} // end of method mdiMain::Main
curiosi i due NOP, eh?
oltretutto il main e' stato inserito automagicamente da VB come metodo di Form1,
ma nel sorgente non sono riuscito a trovarlo:-(
*************** C#
.method private hidebysig static void  Main() cil managed
{
  .entrypoint
  .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = ( 01 00 00 00 ) 
  // Code size       11 (0xb)
  .maxstack  1
  IL_0000:  newobj     instance void WinApp_cs.Form1::.ctor()
  IL_0005:  call       void [System.Windows.Forms]System.Windows.Forms.Application::Run(class [System.Windows.Forms]System.Windows.Forms.Form)
  IL_000a:  ret
} // end of method Form1::Main
-- 
ciao, hal

Possibile ?
Forse non hai impostato la proprieta'  MDIParent del form child.
Se provi cosi', ti assicuro che funziona correttamente:
Public Class mdiMain
	Inherits System.Windows.Forms.Form
[... snip codice di inizializzazione ...]
	Private Sub mdiMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		Dim ch As New child1()
		ch.MdiParent = Me
		ch.WindowState = FormWindowState.Maximized
		ch.Show()
		Me.ActivateMdiChild(ch)
	End Sub
End Class
-- 
hth, hal

Un' altra possibilita' potrebbe essere quella di assegnare la proprieta' MDIParent
gia' nel costruttore del form child.
Esempio:
' mdiMain e' il form MDI
Public Sub New(ByVal a_Parent As mdiMain)
'oppure: Public Sub New(ByVal a_Parent As Form)
	MyBase.New()
	'This call is required by the Windows Form Designer.
	InitializeComponent()
	'Add any initialization after the InitializeComponent() call
	Me.MdiParent = a_Parent
End Sub
' quindi la chiamata diventa:
Public Class mdiMain
	Inherits System.Windows.Forms.Form
[ Windows Form Designer generated code ]
	Private Sub mdiMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		Dim ch As New child1(Me)
		ch.WindowState = FormWindowState.Maximized
		ch.Show()
	End Sub
End Class
-- 
ciao, 
hal.net


Grazie Hal
Devo uscire,
al rientro studierò , come le altre volte , il codice da te postato e ti
farò sapere.
giuseppeD

 >
(al lavoro. Vb.net lo ho installato a casa)
Ho assegnato la proprietà child in fase di costruzione ed ora la ToolBar
della child è sotto la ToolBar della Main; 
invece la barra Menù della child è scomparsa sotto la ToolBar della Main.
Ora si presenta un inconveniente:
Sopra il pulsante che permette la visualizzazione della formChild ci si
può cliccare , e considerando che per attivare la formChild devo costruire
una Istanza:
Dim frm as new formChildName
................
costrusco tante Istanze e di conseguenza tante maschere per quante volte
faccio clic sopra il pulsante della TollBar.
Devo verificare  se è aperta , se visibile , e poi costruire la nuova
Istanza  ??? (spero di sbagliare).
- Scusate se insisto ma in debug , all'opposto di VB6 , non riesco ad
aggiungere o modificare il codice.
Spero di essere smentito.
giuseppeD
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

aggiungere o modificare il codice.
Gia'. VB.net e' gira compilato ed in un processo diverso dall' IDE.
Questo, ovviamente, comporta lo svantaggio di dover ricompilare
e riprendere dal punto in cui era stata fatta la modifica (mi sembra
che questo lo faccia gia', cosi' come gia' avviene nel visual c++ 6.0, 
del resto).
-- 
ciao, hal