Forums Neueste Beiträge
 

Kleine Problemchen mit VS2008

19/02/2010 - 10:21 von Betje van Vlack | Report spam
Hiho zusammen,

ich bin erst kürzlich komplett von Vb6 auf .net (also VS2008) umgestiegen
und habe da einige komische Sachen.

Das Studio habe ich einmal auf meinem Notebook und einmal auf nem Rechner.
Von der installierten Software und Konfiguration her sind die fast
identisch. Patchlevel gleich.

Trotzdem verhàlt sich das Studio bzw. Projekte auf beiden Rechnern anders.

Ein paar Beispiele:

1:
Rechner:
In den Projekt-Properties unter Settings bei Value zb "test" eingeben, dann
merken dass man ja nen Int wollte.. Wert drinlassen Auf Int umstellen und
das Studio erhàngt sich an Messageboxen mit der Meldung das "test" kein Int
ist. (Làsst sich nur noch über Taskmanager beenden)

Notebook:
selbes vorgehen, Studio àndert Test in 0 und meldet sich nicht

2:
Rechner: Contextmenü Strip làsst sich wie folgt mit Elementen befüllen
Dim tsp As New ToolStripMenuItem
ContextMenuStrip1.Items.Clear()
tsp = New ToolStripMenuItem
tsp.Tag = "move"
tsp.Text = "Move"
ContextMenuStrip1.Items.Add(tsp)

tsp.Tag = "irgendwasanderes"
tsp.Text = "irgendwasanderes"
ContextMenuStrip1.Items.Add(tsp)

Notebook:
Programm wird beim zweiten ContextMenuStrip1.Items.Add(tsp) terminiert,
weil angeblich ein Objektverweis fehlt.
Da muss ich mir dann ein tsp2 = New ToolStripMenuItem ,
ContextMenuStrip1.Items.Add(tsp2) basteln

Hier kann es aber auch sein, dass das mal in einem Projekt funktioniert und
im Nàchsten wieder nicht. Das ist nicht unbedingt ein Unterschied zwischen
den Rechnern.

3:
Rechner:
Folgendes funktioniert Problemlos. Will heißen, Contextmenü geht auf.

Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
If e.Button = Windows.Forms.MouseButtons.Right Then
ContextMenuStrip1.Show(Me, New Point(1, 1))
End If
end sub

Notebook:
Selbes Projekt, kein Effekt. e.Button.tostring ist hier zwar auch "Right"
und Windows.Forms.MouseButtons.Right ist true, aber selbst eine Msgbox statt
dem ContextMenuStrip1.Show wird nicht angesprungen.

Einziger Unterschied hier. Rechner hat ne Logitech Maus und das am Notebook
hàngt ne Microsoft. Jeweils 3 Tasten.


Wie kann denn das sein, dass sich die Sachen so unterschiedlich benehmen?
Unter Vb6 hatte ich das so in der Art nie.


Grüße
Betje
 

Lesen sie die antworten

#1 Karsten Sosna
19/02/2010 - 11:25 | Warnen spam
Das Studio habe ich einmal auf meinem Notebook und einmal auf nem Rechner.
Von der installierten Software und Konfiguration her sind die fast
identisch. Patchlevel gleich.



Hallo Betje,
anscheinend wohl nicht.

Trotzdem verhàlt sich das Studio bzw. Projekte auf beiden Rechnern anders.



siehe oben
1:
Rechner:
In den Projekt-Properties unter Settings bei Value zb "test" eingeben,
dann merken dass man ja nen Int wollte.. Wert drinlassen Auf Int umstellen
und das Studio erhàngt sich an Messageboxen mit der Meldung das "test"
kein Int ist. (Làsst sich nur noch über Taskmanager beenden)

Notebook:
selbes vorgehen, Studio àndert Test in 0 und meldet sich nicht



Kann ich nicht nachvollziehen.

2:
Rechner: Contextmenü Strip làsst sich wie folgt mit Elementen befüllen
Dim tsp As New ToolStripMenuItem
ContextMenuStrip1.Items.Clear()
tsp = New ToolStripMenuItem
tsp.Tag = "move"
tsp.Text = "Move"
ContextMenuStrip1.Items.Add(tsp)

tsp.Tag = "irgendwasanderes"
tsp.Text = "irgendwasanderes"
ContextMenuStrip1.Items.Add(tsp)



Da fehlt eigentlich ein tsp = New ToolStripMenuItem vor dem tsp.Tag =
"irgendwasanderes"

Notebook:
Programm wird beim zweiten ContextMenuStrip1.Items.Add(tsp) terminiert,
weil angeblich ein Objektverweis fehlt.
Da muss ich mir dann ein tsp2 = New ToolStripMenuItem ,
ContextMenuStrip1.Items.Add(tsp2) basteln



Siehe Antwort

Hier kann es aber auch sein, dass das mal in einem Projekt funktioniert
und im Nàchsten wieder nicht. Das ist nicht unbedingt ein Unterschied
zwischen den Rechnern.

3:
Rechner:
Folgendes funktioniert Problemlos. Will heißen, Contextmenü geht auf.

Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
If e.Button = Windows.Forms.MouseButtons.Right Then
ContextMenuStrip1.Show(Me, New Point(1, 1))
End If
end sub

Notebook:
Selbes Projekt, kein Effekt. e.Button.tostring ist hier zwar auch "Right"
und Windows.Forms.MouseButtons.Right ist true, aber selbst eine Msgbox
statt dem ContextMenuStrip1.Show wird nicht angesprungen.



Lösche mal das bin und obj Verzeichnis des betreffenden Projekts

Wie kann denn das sein, dass sich die Sachen so unterschiedlich benehmen?
Unter Vb6 hatte ich das so in der Art nie.



VB6 <> VB.Net

BTW.: Würde ich auf beiden Rechner nochmals das Studio entfernen und neu
installieren.
Gruß Scotty

Ähnliche fragen