1

私たちは、VS 2010 と VS 2012 の両方を持つ開発者と共に TFS 2010 を使用しています。カスタム コントロール (TFS エクスプローラーと Web アクセスの両方) を作成しました。何人かの開発者が VS 2012 を使用するようになっているので、私も TFS エクスプローラー カスタム コントロールを 2012 に更新していましたが、2 つのチーム エクスプローラーがコントロールをレンダリングする方法に関する奇妙な問題に遭遇しました。

コントロールは、ドロップダウン リストとボタンを含む Windows フォーム コントロールです (TFS 固有のドロップダウンを拡張しません)。場合によっては表示されるラベルもありますが、ほとんどの場合、VS 2010 でレンダリングすると次のようになります。

次の画像を参照してください。

欠落している白いボックスは、内部情報のみを編集するために画像を変更したものです。

完全なドロップダウンと更新ボタンが表示されることに注意してください。このコントロールは、ドロップダウンと更新ボタンがドッキングされた自動サイズ (拡大と縮小) でコンパイルされるため、フォームのサイズを変更すると、フォームのサイズが正しく変更されます。

2012 への移行のために、新しいプロジェクトを作成し、コントロールを移動し、作業項目コントロールと作業項目クライアントの参照を 2012 の対応するものに更新しました。すべてが正しくコンパイルされ、コントロールは期待どおりに機能します。ただし、レンダリングは不十分です。

次の画像を参照してください。

コントロールが広すぎることに注意してください。更新ボタンを完全に遮断し、ドロップダウンも少し遮断します。

VS 2012 でウィンドウのサイズを変更すると、「正しく」スケーリングされますが、常に同じ場所で切り取られます。

コントロール自体は 2 つのバージョン間で同じように設定されています。文字通り、新しい TFS 関連のアセンブリを参照して再コンパイルし、ローカルの 2012 フォルダーに展開して取得するだけでした。2012 と 2010 の両方が同じ TFS 2010 プロセス テンプレートを指しています。2 つのコントロールが異なるレンダリングを行っているか、オートサイズが異なる値に基づいているように見えます。これはバグですか、それとも私が扱っていない設定ですか?

私にとっての 1 つのオプションは、コントロールを特定のサイズに設定することですが、それはしたくありません。これらのレンダリングが異なる理由について、誰かが私にヒントを与えることができますか?

更新:これをいじってみると、コントロールのサイズが大きすぎるようです。VS 2012 では、VS 2010 よりも約 20 ~ 30 ピクセル多くのスペースが割り当てられているため、自動サイズ変更すると大きすぎますが、レンダリングの何かがそれを切り取っています。内部コントロールを移動して、コントロールの右側に空のスペースを提供すると、それらが表示されます。ただし、ウィンドウを拡大してから縮小しようとすると、自動サイズが縮小して拡大するように設定されていても、コントロールが小さくならないことにも気付きました。

更新: Studio のバグである可能性があるため、これを Connect サイトに投稿しました。http://connect.microsoft.com/VisualStudio/feedback/details/781607/updgrading-tfs-explorer-custom-control-from-2010-to-2012-rendering-differences

4

0 に答える 0