/// <summary>
/// コントロール側にラベルを移動
/// </summary>
private void MoveLabelToControlSide(Label oLblHelp, Control oControl)
{
// PanelやTab内のコントロールに対しても正しく配置できるよう、
// コントロールの位置をフォーム座標に変換
Form oBaseForm = oControl.FindForm();
Point oPointInScreen = oControl.PointToScreen(oControl.ClientRectangle.Location);
Point oPointInForm = oBaseForm.PointToClient(oPointInScreen);
// ラベル表示位置の設定
Point oCtrlBottomCenter = new Point(oPointInForm.X + oControl.Width / 2,
oPointInForm.Y + oControl.Height);
Point oLblDispPoint = new Point(oCtrlBottomCenter.X - oLblHelp.Width / 2,
oCtrlBottomCenter.Y + 3);
oLblHelp.Location = oLblDispPoint;
if (oBaseForm.Width < oLblHelp.Left + oLblHelp.Width)
{
oLblHelp.Left = oBaseForm.ClientRectangle.Width - oLblHelp.Width;
}
if (oLblHelp.Left < 0)
{
oLblHelp.Left = 0;
}
}