0

我正在尝试这样做,所以当您单击我的数字波形图上的结束刻度时,弹出的格式类似于“s.fff”,而不是默认的“mm/dd/yyyy hh /mm/ss”。我找到了 XAxis.EditDateTimeFormatMode 属性,但看起来您只能为其分配“长格式模式”或“短格式模式”,这两种模式都不适合小规模。有没有办法让你自己的 DateTimeFormatMode 使扩展的编辑字段只有秒和毫秒(为了更精确地缩放/重新定位图表)而不是默认的巨大比例?仅供参考,这是实现“短”格式模式的代码,它还不够短:

this.digitalWaveformGraph1.XAxis.EditDateTimeFormatMode = NationalInstruments.UI.DateTimeFormatMode.CreateShortTimeMode();

我意识到这是一个有点精确的问题,但希望这里有人在处理快速信号时可能会遇到同样的问题。非常感谢!

4

1 回答 1

1

这只会让您指向正确的方向,但总体思路是创建一个继承 NationalInstruments.UI.DateTimeFormatMode 的类 - 如下所示:

public class SecondsEditRangeFormat : DateTimeFormatMode
{
    public override string FormatValue(object context, DateTimeFormatModeArgs args)
    {
        return args.Value.ToString("s.fff");
    }

    public override bool TryParse(string s, out DateTime value)
    {   
        value = DateTime.ParseExact(s, "s.fff", CultureInfo.CurrentCulture);
        return true;
    }
}

然后将您的类的实例分配给该属性:

digitalWaveformGraph1.XAxis.EditRangeDateTimeFormatMode = new SecondsEditRangeFormat();
于 2012-11-15T19:39:45.830 回答