Laden...

Transparentes PrintPreviewControl

Erstellt von specialwork vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.126 Views
specialwork Themenstarter:in
26 Beiträge seit 2009
vor 14 Jahren
Transparentes PrintPreviewControl

Hallo,

Ich habe folgendes Problem: Ich möchte den Hintergrund des PrintPrviewControls transparent darstellen. Hierzu habe ich bereits ein Benutzersteuerelement vom PrintPreviewControl abgeleitet und die entsprechenden Flags mit Hilfe von Control.SetStyle gesetzt. Bei anderen Controls (z.B. beim SplitterControl) funktioniert dies einwandfrei. Nur beim PrintPreviewControl wird der Hintergund immer schwarz angezeigt.

Hat jemand 'ne Ahnung, woran das liegen könnte, oder hat vielleicht jemand schon eine fertige Lösung?

Hier der Qeullcode für das Control:

using System.Drawing;
using System.Windows.Forms;

namespace Goerlitz.Licencemanagement.Licenceviewer
{
    public partial class TransparentPrintpreviewControl : PrintPreviewControl
    {
        #region Construction
        #endregion
        public TransparentPrintpreviewControl()
        {
            InitializeComponent();

            SetStyle(ControlStyles.Opaque, true);
            SetStyle(ControlStyles.SupportsTransparentBackColor, true);

            this.BackColor = Color.Transparent;
        }

        protected override void OnPaint(PaintEventArgs pe)
        {
            base.OnPaint(pe);
        }
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= 0x20;

                return cp;
            }
        }
    }
}

Danke ...

S
87 Beiträge seit 2008
vor 14 Jahren

Hi specialwork,

ich weiß das wird jetzt nicht sonderlich weiterhelfen, aber Transparenz und WindowsForms kannst du meiner Meinung nach vergessen. Zumindest wenn es um einzelne Controls geht. Da mir das ganze auch irgendwann zu doof geworden ist, habe ich einfach ein neues Form angelegt (Borders etc. ausblenden) und dessen Opacity angepasst. Vllt ist das ja eine Alternative fuer dich.

LG

syn