Win7 でのみ発生するペイントの問題があります。Win Xpで完全に動作します。ユーザーが項目またはカスタム コントロールの任意の部分 (ユーザー コントロールは下の図の赤い四角形でマークされています) をクリックすると、ツリー ビューと画面内のすべてのコントロールがちらつき始めます。ちらつきは、マウス ポインターがユーザー コントロールの外に移動したときにのみ停止します。
問題はどのように解決できますか?
ユーザー制御コードを以下に示します
namespace NeST.ICE.Screens.ICEJobHistory
{
public partial class CustomControlPropertGrid : System.Windows.Forms.PropertyGrid
{
public CustomControlPropertGrid()
{
InitializeComponent();
this.DoubleBuffered = true;
}
protected override void OnPaint(PaintEventArgs pe)
{
// TODO: Add custom paint code here
// Calling the base class OnPaint
base.OnPaintBackground(pe);
base.OnPaint(pe);
}
protected override void OnPaintBackground(PaintEventArgs e)
{
}
}
}
データ充填コードを以下に示します。this._waferGrid は CustomControlPropertGrid のオブジェクトです
if (dataReader != null && dataReader.Read())
{
//FIX_OCT_08: BUG2891
WaferProperty wafer = new WaferProperty();
//FIX_JUN_09:Changed Name to SubstrateID
wafer.SubstrateID = dataReader[Constants.NAME_PARAMETER_INDEX].ToString();
wafer.InCarrier = dataReader[Constants.SOURCE_INCARRIER_PARAMETER_INDEX].ToString();
wafer.OutCarrier = dataReader[Constants.DESTINATION_OUTCARRIER_PARAMETER_INDEX].ToString();
wafer.InLoadPort = dataReader[Constants.DESTINATIONSLOT_INLP_PARAMETER_INDEX].ToString();
wafer.OutLoadPort = dataReader[Constants.STARTTIME_OUTLP_PARAMETER_INDEX].ToString();
wafer.StartTime = dataReader[Constants.WAFER_TIME_PARAMETER_INDEX].ToString();
wafer.EndTime = dataReader[Constants.ENDTIME_OPERATION_PARAMETER_INDEX].ToString();
//<<EHN_AUG_11_WaferLotId
//Added the waferLotId parameter to the grid
wafer.LotID = dataReader[Constants.LOT_ID_PARAMETER_INDEX].ToString();
//EHN_AUG_11_WaferLotId >>
//FIX_JUN_09:Changed WaferID to ActualWaferID
wafer.ActualWaferID = dataReader[Constants.WAFER_STATUS_PARAMETER_INDEX].ToString();
wafer.RouteRecipe = dataReader[Constants.WAFER_ROUTE_RECIPE_PARAMETER_INDEX].ToString();
this._waferGrid.SelectedObject =wafer;
}