misteriöse Größenänderung bei wechsel auf externen Monitor

  • Allgemein

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von oobdoo.

    misteriöse Größenänderung bei wechsel auf externen Monitor

    Hi,
    ich hab ein komisches Problem. Ich hab VS 2013 Pro auf nem Sourface installiert. Die meiste Zeit arbeite ich an einem 28 Zoll Monitor.
    Aber zu Hause arbeite ich meist auf dem Surface.
    Wenn ich nun ein Projekt auf dem großen Monitor bearbeite und abends am Surface weiter machen möchte, zerhaut es mir immer die ganzen Form Größen...
    Arbeite ich dann wieder auf dem großen Monitor, sind die Forms und Controlls (auch die Schrift) auf einmal extrem groß.
    Kann ich das irgendwie zurück setzen?
    Hier mal 2 Bildchen: Designer und dann zur Laufzeit:
    Der ToolBarButton ist übrigens 40;40 groß, normalerweise aber ja nicht, sondern eher 25;25 oder 20;25
    "Hier könnte Ihre Werbung stehen..."
    hab jetzt gerade mal noch ne neue Form erstellt:
    hier der Code ausm Designer:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
    2. Partial Class Form1
    3. Inherits System.Windows.Forms.Form
    4. 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
    5. <System.Diagnostics.DebuggerNonUserCode()> _
    6. Protected Overrides Sub Dispose(ByVal disposing As Boolean)
    7. Try
    8. If disposing AndAlso components IsNot Nothing Then
    9. components.Dispose()
    10. End If
    11. Finally
    12. MyBase.Dispose(disposing)
    13. End Try
    14. End Sub
    15. 'Wird vom Windows Form-Designer benötigt.
    16. Private components As System.ComponentModel.IContainer
    17. 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
    18. 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
    19. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
    20. <System.Diagnostics.DebuggerStepThrough()> _
    21. Private Sub InitializeComponent()
    22. Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
    23. Me.ToolStrip1 = New System.Windows.Forms.ToolStrip()
    24. Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton()
    25. Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton()
    26. Me.ToolStripDropDownButton1 = New System.Windows.Forms.ToolStripDropDownButton()
    27. Me.Button1 = New System.Windows.Forms.Button()
    28. Me.ToolStrip1.SuspendLayout()
    29. Me.SuspendLayout()
    30. '
    31. 'ToolStrip1
    32. '
    33. Me.ToolStrip1.ImageScalingSize = New System.Drawing.Size(36, 36)
    34. Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.ToolStripButton2, Me.ToolStripDropDownButton1})
    35. Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
    36. Me.ToolStrip1.Name = "ToolStrip1"
    37. Me.ToolStrip1.Size = New System.Drawing.Size(900, 43)
    38. Me.ToolStrip1.TabIndex = 0
    39. Me.ToolStrip1.Text = "ToolStrip1"
    40. '
    41. 'ToolStripButton1
    42. '
    43. Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
    44. Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image)
    45. Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta
    46. Me.ToolStripButton1.Name = "ToolStripButton1"
    47. Me.ToolStripButton1.Size = New System.Drawing.Size(40, 40)
    48. Me.ToolStripButton1.Text = "ToolStripButton1"
    49. '
    50. 'ToolStripButton2
    51. '
    52. Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
    53. Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image)
    54. Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta
    55. Me.ToolStripButton2.Name = "ToolStripButton2"
    56. Me.ToolStripButton2.Size = New System.Drawing.Size(40, 40)
    57. Me.ToolStripButton2.Text = "ToolStripButton2"
    58. '
    59. 'ToolStripDropDownButton1
    60. '
    61. Me.ToolStripDropDownButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
    62. Me.ToolStripDropDownButton1.Image = CType(resources.GetObject("ToolStripDropDownButton1.Image"), System.Drawing.Image)
    63. Me.ToolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta
    64. Me.ToolStripDropDownButton1.Name = "ToolStripDropDownButton1"
    65. Me.ToolStripDropDownButton1.Size = New System.Drawing.Size(59, 40)
    66. Me.ToolStripDropDownButton1.Text = "ToolStripDropDownButton1"
    67. '
    68. 'Button1
    69. '
    70. Me.Button1.Location = New System.Drawing.Point(12, 46)
    71. Me.Button1.Name = "Button1"
    72. Me.Button1.Size = New System.Drawing.Size(154, 56)
    73. Me.Button1.TabIndex = 1
    74. Me.Button1.Text = "Button1"
    75. Me.Button1.UseVisualStyleBackColor = True
    76. '
    77. 'Form1
    78. '
    79. Me.AutoScaleDimensions = New System.Drawing.SizeF(14.0!, 29.0!)
    80. Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
    81. Me.ClientSize = New System.Drawing.Size(900, 787)
    82. Me.Controls.Add(Me.Button1)
    83. Me.Controls.Add(Me.ToolStrip1)
    84. Me.Name = "Form1"
    85. Me.Text = "Form1"
    86. Me.ToolStrip1.ResumeLayout(False)
    87. Me.ToolStrip1.PerformLayout()
    88. Me.ResumeLayout(False)
    89. Me.PerformLayout()
    90. End Sub
    91. Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip
    92. Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton
    93. Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton
    94. Friend WithEvents ToolStripDropDownButton1 As System.Windows.Forms.ToolStripDropDownButton
    95. Friend WithEvents Button1 As System.Windows.Forms.Button
    96. End Class
    "Hier könnte Ihre Werbung stehen..."
    Hatte auch so ein Problem. Programmiere auch auf meinem Surface und nem externen Monitor. Das liegt wahrscheinlich an den WinForms, die nicht sauber skalieren bei extremen Auflösungsänderungen (Bildschirmwechsel)...

    Eventuell hast du auch die Standarschriften verändert? Da hatte ich auch schon schwierigkeiten, da hat mit VS15 mein komplettes Programm zerschossen (Controls verschoben).

    Nutze mittlerweile die Komponenten von DevExpress, die haben mit der skalierung nicht so große Probleme wie die WinForms. Seit dem werden meine Programme überall sauber skaliert und gestochen scharf dargestellt. Evtl. Mal testweise nen WPF Projekt machen mit nen paar Controls, da dürftest du auch keine Probleme dieser Art haben.

    Nen VS Update könnte auch schon besserung bringen.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Vlt. mal mit der AutoScaleMode rumexperimentieren:
    msdn.microsoft.com/de-de/libra…oscalemode(v=vs.110).aspx
    Natürlich auf alle ContainerControls anwenden, bzw. alle Controls auf Inherit setzen, dann musst immer nur das Formular anpassen.
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Hat einer der Monitore vielleicht eine andere Skalierung eingestellt?
    kolja-engelmann.de/blog/wp-con…skalierung-200prozent.png
    techkultur.de/wp-content/uploa…erung-ohne-Neustart-3.png
    Hab mal gehört, dass WinForms damit nicht gut zurechtkommt.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Hi,
    ich habs jetzt anners gemacht, der Bildschirm aufm Surface ist mich eh zu klein.
    Hab mein Mac Air noch mal raus gekramt und dort Windows 10 im BootCamp installiert. Dort dann VS 2015 Community.
    Wenn ich jetzt mein Projekt aufmache, habe ich alles normal eingestellt und normale Größe.
    Werde Montag mal noch VS 2015 aufm Surface installieren, aber zum proggen dann mein Air nehmen...
    Danke an Alle.
    Hab noch eine andere Frage, kann aber auch gerne nen neuen Thread aufmachen.
    Kann jemand erklären, was genau Git ist und wie man es am Besten benutzt?
    Ich suche nach einer Möglichkeit, meine Projekt von mehreren System aus zu bearbeiten (zu Haue Mac Air, im Büro Surface mit ext Monitor, eventuell noch fester PC)
    Ich hab es mal mit OneDrive versucht, das klappte soweit auch ganz gut, bis ich mal ein Gerät zu früh geschloßen hatte und das Projekt noch nicht 100% hoch geladen war, das hat mir beim Öffnen vom anneren Rechner aus das ganze Projekt zerschoßen.
    Ist da GIT nicht besser geeignet für? aber sind dort nicht alle Projekte und Codes offen gelegt?
    Danke für Eure Hinweise
    Grüße
    Micha
    "Hier könnte Ihre Werbung stehen..."