7
votes

Ajouter la frontière au contrôle WebBrowser

Lorsque j'ajoute un contrôle WebBrowser sur mon Tabpage, il n'a pas de frontière. Je ne trouve pas d'attribut BordersTyle. Comment obtenir le contrôle d'avoir une frontière? (3D, Sunken, peu importe)

 capture d'écran

Seulement par la barre de défilement à droite, vous voyez qu'il y a un contrôle là-bas ...


0 commentaires

3 Réponses :


8
votes

Vous pouvez envelopper le WebBrowser contrôle dans un panneau et définissez le panneau.borderstyle propriété.

Panel panel1 = new Panel();
panel1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
panel1.Controls.Add(webbrowser1);


2 commentaires

C'est un moyen de savoir bien sûr :) Mais pourquoi tous les contrôles ont-ils un style de frontière à l'exception du navigateur Web?


C'est la voie à suivre n'importe quel contrôle qui n'a pas de propriété de style frontière. Je l'ai utilisé sur RichTextboxes et ComboBoxes.



15
votes

Commentaires gumpy, pas précis. Ajoutez une nouvelle classe à votre projet et collez le code ci-dessous. Compiler. Dressez la nouvelle commande du haut de votre barre d'outils sur votre formulaire.

using System;
using System.Windows.Forms;

class MyWebBrowser : WebBrowser {
  protected override CreateParams CreateParams {
    get {
      var parms = base.CreateParams;
      parms.Style |= 0x800000;  // Turn on WS_BORDER
      return parms;
    }
  }
}


1 commentaires

Bonne réponse. Si on est nouveau sur Windows comme moi, mon winuser.h était ici (probablement Visual Studio le placé là-bas): C: \ Program Files \ Microsoft sdks \ Windows \ v7.0a \ include \



1
votes

Tout d'abord être conscient que c'est-à-dire que c'est-à-dire de peindre la bordure seule si vous spécifiez

ou p>

Corps {style frontière: encadré; frontière-largeur: 2px; Marge: 0px; } p>

mais cela ne fonctionne plus avec de nouvelles versions, c'est-à-dire. p>

Donc, si vous peignez la bordure en C # et spécifiez un DOCTYPE, vous devez définir P>

HTML, Corps {Border: 0; } p>

sinon vous avez deux bordures dans IE 6. p>


La solution de HANS (pour définir ws_border) produit une bordure noire laide. P>

si Vous voulez une bordure 3D scanken La solution la plus facile la plus simple: P>

protected override void OnLoad(EventArgs e)
{
    ....
    listBox.IntegralHeight = false;
    webBrowser.Parent = listBox;
    webBrowser.Dock   = DockStyle.Fill;
}


0 commentaires