|It's not that C# doesn't "know" this property, it's that it does not exist. C# is just one of many languages that target the CLR and uses the same assemblies in the same way as any other language can (though some language features - not class members - are not supported by all languages).
In this example you saw, either the author is wrong (like I said, the
Zoom property doesn't exist) or he has created his own
PrintPreviewDialog class, or he is using the
PrintPreviewControl and either named it differently or hosted it in a dialog and is encapsulating the
PrintPreviewControl.Zoom property. You could do the same thing.
PrintPreviewControl does have a
Zoom property but you must host this control in your own
Form. One final way is to enumerate the
PrintPreviewDialog.Controls property and find the
PrintPreviewControl that it uses internally and then set the
Zoom property on that, like so:
foreach (Control c in this.printPreviewDialog1.Controls)
if (c is PrintPreviewControl)
((PrintPreviewControl)c).Zoom = 2.0f;
Microsoft MVP, Visual C#