Comment puis-je positionner un formulaire dans le coin inférieur droit de l'écran lorsque le formulaire se charge? J'utilise Visual Basic 2010 Express.
Merci P>
Edit: Je l'ai fait et il semble fonctionner très bien. P>
Dim x As Integer Dim y As Integer x = Screen.PrimaryScreen.WorkingArea.Width - 400 y = Screen.PrimaryScreen.WorkingArea.Height - 270 Me.Location = New Point(x, y)
8 Réponses :
Vous devez modifier le formulaire.Starposition en mode manuel et modifier la propriété de localisation du formulaire P>
par exemple Comment Pour définir l'emplacement / la position du démarrage de formulaire manuellement? P>
ou p>
VB.NET - Formulaire de démarrage supérieur gauche p>
en utilisant Form.Startposition Propriété a > et Form.Location Propriété P>
Ce n'est que la moitié de la réponse - également aussi importante et beaucoup i> plus difficile à suivre si c'est en fait quelque chose que chaque programmeur de bureau devrait savoir (et la question vraiment clé) est de savoir comment obtenir la taille et l'emplacement du travail. zone du bureau. Je l'ai fait pour la dernière fois à Delphi, il y a plus longtemps que je me soucie de me souvenir et je n'ai pas encore trouvé la réponse .NET ... (ou du moins, je ne me souviens pas, ce faisant).
Screen.GetworkingArea renvoie la taille et l'emplacement de la partie utile de l'écran. Ou dans les détails d'escroc, la zone de bureau de l'écran, à l'exclusion des barres de tâches, des fenêtres d'accouplement et des barres d'outils amarrées. Vous passez dans un contrôle, car il pourrait y avoir plusieurs moniteurs, auquel cas il utilise le contrôle pour décider quel moniteur vous vouliez dire. msdn.microsoft.com/en-us/library/45zswy9x.aspx
Voici quelques échantillons de code dans C #, il se traduit par vb.net assez directement. ( Ceci code> est
moi code>) Stackoverflow.com/Questtions/1385674/...
ouais j'ai édité ma question avec le code que j'ai écrit et il semble fonctionner
Vous pouvez faire boucle à travers les formes de l'enfant et effectuer des calculs basés sur les propriétés supérieure et gauche (peut-être combiner ces calculs avec des propriétés de largeur et de hauteur en fonction de votre exigence pour "bas à gauche") p>
hth, Mark p>
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Visible = True Dim x As Integer Dim y As Integer x = Screen.PrimaryScreen.WorkingArea.Width y = Screen.PrimaryScreen.WorkingArea.Height - Me.Height Do Until x = Screen.PrimaryScreen.WorkingArea.Width - Me.Width x = x - 1 Me.Location = New Point(x, y) Loop End Sub
Comme son nom l'indique, cela ne la localise que dans le coin de l'écran primaire i>. Avec plusieurs moniteurs, cela va souvent être le mauvais et gêner l'utilisateur.
Oh wow, quelqu'un qui n'aime pas les mathématiques autant que moi. Le code est génial, mais l'approche avec le «faire jusqu'à» n'est pas belle.
Cela fait simplement que cela fait le tour pour moi: des manches juste au-dessus / à gauche du Taskar S le cas peut être.
Dim x As Integer Dim y As Integer x = Screen.PrimaryScreen.WorkingArea.Width - Me.Width y = Screen.PrimaryScreen.WorkingArea.Height - Me.Height Me.Location = New Point(x, y)
Écran Centre:
Me.Location = New Point(Screen.PrimaryScreen.WorkingArea.Width - Me.Width, Screen.PrimaryScreen.WorkingArea.Height - Me.Height)
Si vous souhaitez positionner le formulaire sur le curseur à l'écran, utilisez:
' Get Active Screen Cursor is On, rather than assuming user on PrimaryScreen Dim scr As Screen = Screen.FromPoint(Cursor.Position) Me.Location = New Point(scr.WorkingArea.Right - Me.Width, scr.WorkingArea.Bottom - Me.Height)
vous pouvez essayer comme p>
sous forme de formulaire privé1_load (Sender byval en tant que système.Object, byval E comme système.eventargs) gère myBase.load
Me.StartPosition = Formsartposition.Manual
Me.location = écran.getworkingArea (moi) .location
End sous code> p>
Essayez cette solution. Cela fonctionne pour moi à VS 2019
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) Me.Top = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height - Me.Height Me.Left = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width - Me.Width MyBase.OnLoad(e) End Sub
Besoin d'autres informations sur cette question: utilisez-vous VB ou VB.NET? Savez-vous quelle version? Êtes-vous en bosse une application MDI / SDI?
Localiser ou positionner? Et quelle version de vb?
Visual Basic 2010 Express, en fait je voulais dire positionnement
Être débutant n'est rien pour être désolé. Nous avons tous été là et dans certains domaines, nous sommes tous débutants.
Merci Fredrik, alors commencez ...