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 ...
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