Tag: vb.net

OpenGL – 旋转不起作用

背景 我目前有一个我创建的环境,我加载了一些形状(以供我参考)并且我试图让控件向前,向后移动并旋转我正在寻找的位置。 我使用我的观察点和摄像机位置点进行向前和向后计算。 我试图旋转360度,但似乎根据我到目前为止得到了一些奇怪的限制。 我正在输出我的xangle,看看我一直在哪里。 为了旋转,我改变了lookat变量(x,y和z),同时保持位置(x,y,z)相同。 问题 当连续增加角度时,我击中两个reflection点,其中出现的旋转改变方向。 无论出于何种原因,这些似乎发生在60度和300度,如下所示: 显然这些角度是不正确的。 我已经评估了旋转发生时应该发生的行为,并且计算出的笛卡尔坐标似乎是正确的但是角度的显示是关闭的。 我的setupviewport子: Private Sub SetupViewport() Dim w As Integer = GLcontrol1.Width Dim h As Integer = GLcontrol1.Height Dim perspective1 As Matrix4 = cam.GetViewMatrix() * Matrix4.CreatePerspectiveFieldOfView(1.3F, GLcontrol1.Width / CSng(GLcontrol1.Height), 0.1F, 2000.0F) GL.MatrixMode(MatrixMode.Projection) GL.LoadIdentity() GL.Ortho(0, w, h, 0, -1, 1) GL.LoadMatrix(perspective1) GL.MatrixMode(MatrixMode.Modelview) GL.LoadIdentity() GL.Viewport(0, 0, w, h) […]

将C#知识转换为VB.NET任何潜在的问题?

我有一个团队,人们对C#非常熟悉,但我们要求在VB.net中编写一个项目。 在C#中思考并在飞行中转换为VB有多难? 那可行吗? 你能否列出我们可以遇到的问题? 我听说VB.net没有闭包。 对于.net 3.5来说,这仍然是真的吗?

你是否必须为异步方法调用调用EndInvoke(或定义一个回调),即使你返回时没有任何事情要做

我在CodeProject上发现了以下代码片段,它在异步调用方法… http://www.codeproject.com/Articles/14931/Asynchronous-Method-Invocation private void CallFooWithOutAndRefParameters() { // create the paramets to pass to the function string strParam1 = “Param1”; int intValue = 100; ArrayList list = new ArrayList(); list.Add(“Item1”); // create the delegate DelegateWithOutAndRefParameters delFoo = new DelegateWithOutAndRefParameters(FooWithOutAndRefParameters); // call the beginInvoke function! IAsyncResult tag = delFoo.BeginInvoke(strParam1, out intValue, ref list, null, null); // normally […]

将“Handles”从VB.NET迁移到C#

我正在将一些代码从VB.NET迁移到C#(3.5)。 我找到了以下结构: Public Event DataLoaded(ByVal sender As Object, ByVal e As EventArgs) Protected Sub Mag_Button_Load_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Mag_Button_Load.Click [..] RaiseEvent DataLoaded(Me, EventArgs.Empty) End Sub [..] ‘Other Class Private Sub LoadData(ByVal sender As Object, ByVal e As System.EventArgs) Handles oData.DataLoaded [..] End Sub 将此类行为转换为C#的最直接方法是什么?

检查路径是否在网络上

在我的应用程序中,我有一个对话框,用户可以在其中选择数据库备份位置。 我想警告用户他/她选择的位置是“可能不安全”。 我想考虑以下位置安全: 当选定的文件夹在网络上时 (通过映射驱动器( I:\Backup )或UNC表示法( \\server2\backup )) 所选文件夹与数据库文件夹位于不同的物理磁盘上时 如何获得有关所选文件夹的此类信息? 我知道DriveInfo类,但它只处理驱动器号,而不是UNC路径。

为什么Interlocked.Add没有超载接受双打作为参数?

我完全理解Threading.Interlocked类提供的primefaces性; 但是,我不明白为什么Add函数只提供两个重载:一个用于Integers,另一个用于Longs。 为什么不双打,或任何其他数字类型? 显然,更改Double的预期方法是CompareExchange; 我认为这是因为修改Double比修改Integer更复杂。 我还不清楚为什么,如果CompareExchange和Add都能接受整数,他们也不能同时接受双打。

为什么除(+)运算符在VB.NET和C#中表现不同?

如果您在C#和VB.NET中创建新项目,则直接进入立即窗口并键入: ? 567 / 1000 C#将返回0,而VB.NET将返回0.567。 要在C#中获得相同的结果,您需要输入 ? 567 / 1000.0 为什么会出现这种差异? 为什么C#在1000之后需要显式小数点?

在RGB和HSB颜色值之间切换的算法

我阅读了文章算法切换RGB和HSB颜色值 Type RGBColor Red As Byte Green As Byte Blue As Byte End Type Type HSBColor Hue As Double Saturation As Double Brightness As Double End Type Function RGBToHSB(rgb As RGBColor) As HSBColor Dim minRGB, maxRGB, Delta As Double Dim h, s, b As Double h = 0 minRGB = Min(Min(rgb.Red, rgb.Green), rgb.Blue) maxRGB = […]

是否可以在同一个asp.net网站上安装C#和vb.net?

是否可以在同一个asp.net网站上安装C#和vb.net? 没有在类库中分离。

获取组件的父表单

我有一个非可视组件来管理其他视觉控件。 我需要引用组件正在运行的表单,但我不知道如何获取它。 我不确定添加一个构造函数与父指定为控件,因为我希望组件只是被放入设计器中工作。 另一个想法是让父母的财产作为控制,默认值为’我’ 任何建议都会很棒 编辑: 为了澄清,这是一个组件 ,而不是一个控件 ,请参见此处: ComponentModel.Component