7
votes

Winform sans frontière avec une bordure 1Px

Cela pourrait ressembler à une question étrange, mais j'ai C # Winform que j'ai défini le formulaire de formulaire à néant. Jusqu'à présent, tout va bien mais je me demandais s'il y avait un moyen d'ajouter une frontière 1px sur mon formulaire? Je sais que je pourrais le faire en créant ma propre image mais je me demandais s'il y avait une façon plus naturelle de le faire. Merci


1 commentaires

Vous pouvez placer un panneau sur le formulaire et la quai. Remplissez-le, puis donnez une bordure (elle a une bordure noire de 1px).


6 Réponses :


0
votes

Il n'y a plus de naturel ou non naturel manières de le faire. Cela dépend de ce que vous voulez.

Si vous mettez une image d'arrière-plan sur le formulaire, vous devez envisager un fait que, pour pouvoir prendre en charge la résiliable, vous devez avoir des images de fond révisable.

Si vous simplement dessinez en arrière-plan avec un stylo ou brosse , vous pouvez également prendre en charge une formulaire redimensionnable, mais vous devez travailler plus Si vous voulez faire quelque chose de cool, à la place de l'image, il est plus facile.

Vous pouvez intégrer un certain contrôle à l'intérieur du formulaire et avec des couleurs d'entre eux font une sensation de la frontière. Comme le contrôle, vous pouvez utiliser panneau , comme suggéré dans le commentaire, peut utiliser groupbox qui crée de la pointe de pointe de broder, ou autre chose.


0 commentaires

1
votes

Que diriez-vous d'ajouter un panneau (et la configuration de la bordure) sur le formulaire?


0 commentaires

1
votes

Merci pour les suggestions, j'ai décidé de créer 4 étiquettes 1Px et de lancer juste sur le bord de chaque côté. De cette façon: 1. Ils menent leur propre entreprise sur le côté plutôt que de prendre tout le milieu si vous utilisez utilisez une boîte de groupe ou un panneau. 2. Vous pouvez choisir de changer votre couleur de bordure.


0 commentaires

10
votes

Je envisage d'utiliser une image ou de créer des commandes inutiles pour quelque chose qui est facilement peint à l'aide de GDI + un gaspillage de ressources.

Je pense que la solution la plus simple remplace le sur la méthode de votre formulaire et Dessiner la frontière vous-même: xxx

Bien sûr, vous pouvez également utiliser votre propre stylo avec votre propre couleur et votre largeur.


3 commentaires

Votre méthode est parfaite !! Sauriez-vous savoir comment redessiner le rectangle sur la forme redimensionner?


Il suffit de définir simplement la propriété resizeDraw de votre formulaire sur true . Cela le fera invalider sur chaque redimensionnement.


J'ai trouvé e.graphics.drawrectangle un bit frappé et manquant et utilisé ControlPaint.Drawborder (E.graphics, clientRectangle, couleur.black, buttonborderstyle.solid); fonctionne super sans avoir à se repositionner.



4
votes

Utilisez le rembourrage 1; 1; 1; 1 à votre forme et réglez une couleur d'arrière-plan sur votre formulaire et placez un panneau à votre formulaire. Définissez le blanc ou une autre couleur de fond normal sur le panneau. Et définir le quai dans le contrôleur parent. La couleur de fond de la forme agira comme une bordure.


1 commentaires

C'est la solution la plus simple la plus simple.



0
votes

J'ai créé cette méthode, de sorte que vous puissiez facilement régler la décoloration, la couleur et l'épaisseur.

protected override void OnPaintBackground(PaintEventArgs e)
{
    base.OnPaintBackground(e);
    customBackgroundPainter(
    e,
    linethickness: 3,
    linecolor: Color.DarkOrange,
    offsetborder: 5
    );
}


0 commentaires