小编Sha*_*e.C的帖子

删除datagrid中列之间的行

快速问题,有没有办法删除数据网格中列之间的行?我在SO上只看到了一个答案,这与WPF有关,与winforms无关.

我开始认为它可能是超级简单的东西,或者可能相反,我将不得不覆盖绘制功能(这比它的价值更多的努力,我可能会留下它).

提前干杯

.net c# datagridview winforms

2
推荐指数
1
解决办法
4419
查看次数

将长拉特转换为谷歌地图长拉特

我在从GPRS跟踪器获取准确读数时遇到一些麻烦,实现gMaps api中给出的坐标.

我在这里读到你应该将分钟数/度数除以它们分别为60和3600,但即使尝试这个我也无法得到任何准确的东西:

GPS跟踪器坐标转换为谷歌地图格式和精确度

跟踪器发送包含以下信息的数据包;

5242.8157 North
00126.3539 West
Run Code Online (Sandbox Code Playgroud)

我翻译为;

latitude: 52 degrees, 42 minutes, 8157 seconds - > 52.428157
longitude: -1 degree, 26 minutes, 3539 seconds - > -1.263539
Run Code Online (Sandbox Code Playgroud)

但这会使我的标记显着偏离.有没有我在这里缺少的东西,也许是某些人可能知道的更简单的东西更精确?

c# google-maps coordinates

2
推荐指数
1
解决办法
491
查看次数

if()语句行为,为什么这会传入循环?

我遇到了一个简单的循环,它似乎进入循环而不管我查询的参数,以确定循环是否应该处理.下面是循环;

  if (result[4] == 0x01 || result[5] == 0x01 || result[6] == 0x01 || result[7] == 0x01 || result[8] == 0x01 || result[9] == 0x01 & deviceState == false)
                {

                        deviceState = true;
                        mainUI.setAlarmColour(result, device);

                }
Run Code Online (Sandbox Code Playgroud)

注意:我已经尝试了"&"和"&&"作为最终参数,但两者都没有区别.

使用此循环,即使deviceState设置为true,它也会继续进入循环.但是,如果我使用以下循环它会停止此问题:

  if (result[4] == 0x01 || result[5] == 0x01 || result[6] == 0x01 || result[7] == 0x01 || result[8] == 0x01 || result[9] == 0x01)
                {
                    if (deviceState == false)
                    {
                        deviceState = true;
                        mainUI.setAlarmColour(result, device);
                    }
                }
Run Code Online (Sandbox Code Playgroud)

第二个循环解决了问题,它不再进入循环,这意味着我的函数没有被调用.

我错过了一些基本的东西吗?我已经尝试过messageBoxes来验证它是错误的并且它们以我期望的方式返回,但它仍然进入第一个循环.

c# parameters if-statement

1
推荐指数
1
解决办法
121
查看次数

byte []的byte.length()是最大大小还是实际大小?

我觉得我在这个问题上退了两步,但有些事情让我感到困惑.我正在通过TCP/IP和byte []进行一些通信.

所以我开始构建我的byte []数组,第三个字节需要byte []的长度.如果我这样声明我的字节;

byte[] bytesToSend = new byte[119];
Run Code Online (Sandbox Code Playgroud)

然后用数据填充前三个字节..

bytesToSend[0] = 0x40;
bytesToSend[1] = 0x40;
bytesToSend[2] = Encoding.ASCII.GetBytes(bytesToSend.Length.ToString())[0];
Run Code Online (Sandbox Code Playgroud)

最后只打印出第三个字节,其中应包含长度;

MessageBox.Show(BitConverter.ToString(bytesToSend));
Run Code Online (Sandbox Code Playgroud)

我应该期望它返回119的字节大小,或者这只是最大大小?目前它正在返回十六进制"0x31",据我所知,它不等于119或3.毫无疑问,我缺少一些简单/基本的东西,但是有人能指出我正确的方向吗?

c# encoding bytearray

0
推荐指数
2
解决办法
429
查看次数