확실한 답변이지만 확실하지 않습니다.`MouseHover` 이벤트에서`MouseEventArgs`를 가져올 수 없습니다.
mousehover
이벤트를 사용하여 tooltip
을 추가하려고합니다. 역사적으로 나는 mousemove
이벤트를 사용했지만 유감스럽게도 tooltip
은 프로그램에서 최대한 빨리 업데이트됩니다. 내 그래프에 마우스가 고정되어있는 것을 보여 주기만하면됩니다.
이벤트 처리기가 MouseEventArgs
이 아닌 EventArgs
만 사용하므로이 문제는 e.Location
속성을 가져올 수 없다는 문제가 있습니다. 내가 이것을 바꿀 수있는 방법이 있니? 아니면 MouseEventArgs mouse = new MouseEventArgs();
과 같은 줄을 추가하십시오. (더 많은 인수가 필요하다는 오류가 발생하지만 어떤 것이 있는지 모르겠습니다.)
어떤 도움에 감사드립니다 :)
private void chSysData_MouseHover(object sender, EventArgs e)
{
//Add tooltip
try
{
int cursorX = Convert.ToInt32(chSysData.ChartAreas[0].AxisX.PixelPositionToValue(e.Location.X));
tipInfo = "System: " + systemVoltage[cursorX].ToString("0.00") + Environment.NewLine + "Current: " + currArray[cursorX].ToString("0.00") + Environment.NewLine;
tooltip.SetToolTip(chSysData, tipInfo);
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
나는이 오류에서 읽고있다 :'Member 'System.Windows.Forms.Cursor.Position.get'은 인스턴스 참조로 접근 할 수 없다; 대신 형식 이름으로 한정하십시오 .' 나는 전에 그것을 본 적이 없다. 내가 그걸 알아내는 동안 어떤 제안이라도? – tmwoods
"커서"는 개체의 이름이 아니라 형식 이름입니다. 코드에서 사용하는 변수와 충돌하지 않고 "cursorX"와 같은 이름을 사용하고 있는지 확인하십시오. 그래도 문제가 해결되지 않으면 질문하기 버튼을 클릭하여 문제를 더 잘 문서화하십시오. –
방금 내 프로그램을 검색했고 '커서'라는 변수는 검색하지 않았습니다. 나는 다른 질문을하기 전에 먼저 파고들 것이다. 나는 먼저 그것을 스스로 연구하지 않는 한 묻고 싶지 않다. 도움을 주셔서 감사합니다 :) – tmwoods