有些带界面的ocx组件, 你手动注册后,并不能在vs2022中添加到工具箱, 那么也就意味着你不能拖拽来使用这个ocx控件, 那么只能手动撸代码添加了.
过程也简单, 下面是我测试使用的步骤:
-
需要先把ocx组件给生成vs中能用的类 , 利用vs自带的 Aximp.exe 来生成
步骤: 在vs中选择[工具]->[命令行]->[开发者命令提示]
在打开的界面中, 输入 aximp c:\st_curve.ocx 自动解析生成需要的dll
工程中引用 刚刚生成的两个dll
打开工程的设计 , 拖拽一个picturebox控件, 调整好大小和位置, 然后在form1_load代码上面位置添加如下代码:
private void Form1_Load(object sender, EventArgs e) { var axSTcurve1 = new AxST_CurveLib.AxST_Curve(); axSTcurve1.Dock = DockStyle.Fill; this.pictureBox1.Controls.Add(axSTcurve1); axSTcurve1.SetShowMode(0x80); //axSTcurve1.CtlBackColor=0x000000; axSTcurve1.CtlBackColor = 0xFFFFFF; axSTcurve1.CtlForeColor = 0x000000; axSTcurve1.AxisColor = 0x878787; axSTcurve1.GridColor = 0xF0F0F0; axSTcurve1.EnablePreview(false); axSTcurve1.EnableHelpTip(false); axSTcurve1.EnableHZoom(true); axSTcurve1.SetGridMode(3); axSTcurve1.LimitOnePage(true); axSTcurve1.SetVPrecision(2); axSTcurve1.SetHPrecision(0); axSTcurve1.SetHInterval(10); axSTcurve1.SetUnit("温度和湿度"); axSTcurve1.AddLegend(1, "aaa", 0xC08E45, 0/*_PS_SOLID*/, 1, 0x0, 255, 0/*CurveMode0/3*/, 1, 0xFF, true); for (int i = 0; i < 500; i++) { axSTcurve1.AddMainData(1, i.ToString(), (float)Math.Sin(i * 0.05), 0, 1, true); //axSTcurve1.AddMainData2(1, i, (float)Math.Sin(i * 0.05), 0, 1, true); } }
上面主要看前四行代码, 这个是关键.
- 然后就可以看到效果了