C# 有没有办法为DigitalWaveformGraphs定制EditDateTimeFormatMode?
我试图做到这一点,当你点击我的数字波形图上的结束标记时,弹出的格式是“s.fff”,而不是默认的“mm/dd/yyyy hh/mm/ss”。我找到了XAxis.EditDateTimeFormatMode属性,但看起来只能为其指定“长格式模式”或“短格式模式”,这两种模式都不适合小规模应用。有没有一种方法可以创建您自己的DateTimeFormatMode,使扩展的编辑字段只有几秒钟和几毫秒(以便在图形上进行更精确的缩放/重新定位),而不是默认的大比例?仅供参考,这是实现“short”格式模式的代码,它还不够短:C# 有没有办法为DigitalWaveformGraphs定制EditDateTimeFormatMode?,c#,windows,winforms,plot,waveform,C#,Windows,Winforms,Plot,Waveform,我试图做到这一点,当你点击我的数字波形图上的结束标记时,弹出的格式是“s.fff”,而不是默认的“mm/dd/yyyy hh/mm/ss”。我找到了XAxis.EditDateTimeFormatMode属性,但看起来只能为其指定“长格式模式”或“短格式模式”,这两种模式都不适合小规模应用。有没有一种方法可以创建您自己的DateTimeFormatMode,使扩展的编辑字段只有几秒钟和几毫秒(以便在图形上进行更精确的缩放/重新定位),而不是默认的大比例?仅供参考,这是实现“short”格式模式的
this.digitalWaveformGraph1.XAxis.EditDateTimeFormatMode = NationalInstruments.UI.DateTimeFormatMode.CreateShortTimeMode();
我意识到这是一个有点精确的问题,但我希望这里的人在处理快速信号时也会遇到同样的问题。非常感谢 这只能为您指明正确的方向,但总体思路是创建一个继承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();
非常感谢,我会试试这个。