リフレクションを通過させるためのprintpreviewdialogのツールストリップの正しい名前を知りたいのですが。Windows XP、Vista、Sevenから使用する正しい名前を知りたい。その名前がWindowsのバージョンに依存するかどうかはわかりません。現在私はやっています(私はそれをtoolStrip1と呼んでいます):
Type type = typeof(this);
FieldInfo toolStripBar = type.GetField("toolStrip1", BindingFlags.Instance | BindingFlags.NonPublic);
FieldInfo printToolStripButton = type.GetField("printToolStripButton", BindingFlags.Instance | BindingFlags.NonPublic);
ToolStrip toolStrip1 = (ToolStrip)toolStripBar.GetValue(this);
ToolStripButton printButton = (ToolStripButton)printToolStripButton.GetValue(this);
Bitmap bitmap = new Bitmap(MyBmpImage);
printButton.Image = bitmap;
toolStrip1の名前は常にWindowsバージョンとは独立して機能していますか?