我想设置我的ListBox.Width属性,使其不比需要更宽或更窄,以显示其中的项目.ListBox左边和文本开头之间有一些像素的边距 - 我希望右边有一个类似的边距.(即不应有很大的间隙,字母不应接触右边缘).
鉴于我不确定给定字符串的像素数,我不知道如何计算这个宽度.
我有一个帖子:
void threadCode(object o)
{
doStuffHere(o); // Blocking call. Sometimes hangs.
}
Run Code Online (Sandbox Code Playgroud)
而我这样称呼它:
Thread t = new Thread(new ThreadStart(delegate()
{
threadCode(o);
}));
t.Start();
StopWatch sw = new StopWatch();
sw.Start();
while (t.IsAlive)
{
Application.DoEvents();
if (sw.EllapsedMilliseconds > myTimeout)
// Somehow kill t even though doStuffHere(o) is blocked (but hung)
}
Run Code Online (Sandbox Code Playgroud)
我正在使用.NET Zip Library并且调用ZipFile.CommitUpdate()大部分时间都可以工作,但有时只是挂起.我不知道为什么,我在文档中看不到任何指示为什么会发生这种情况的内容.一个不超过5-10秒的小文件有时会在那里停留超过5分钟但没有进展.进程资源管理器中的I/O图表显示该进程不是读取或写入,并且没有CPU使用情况.基本上,如果发生这种情况,我想CommitUpdate()在放弃之前杀死并再试一次或两次.
知道如何杀死阻塞调用中的线程吗?
(或者 - 那些有这个zip库经验的人:你知道为什么有时会挂起一些文件吗?我正在修改.docx和.pptx(GZip)文件的内容.这将是一个理想的解决方案. )
我来自C#而且很新,所以请耐心等待.
我有一个MainWindow有一些私有HWND变量的类.一个用于窗口本身,一个用于每个控件.我想我需要跟踪它们,或者以后会让事情变得更容易吗?
无论如何,我有:
class GUIMain
{
private:
HINSTANCE hInstance;
HWND hWnd; // The windows itself
HWND cmdGenerate, cmdQuit; // 2 buttons
Run Code Online (Sandbox Code Playgroud)
我有一个调用的私有方法initialise(HWND hWnd)被调用WM_CREATE,它将所有控件添加到窗口:
void MainWindow::initialise(HWND hWnd)
{
this->hWnd = hWnd;
cmdGenerate = CreateWindow(TEXT("BUTTON"), TEXT("&Generate..."),
WS_VISIBLE | WS_CHILD,
6, 6, 150, 25,
hWnd, (HMENU)1, 0, 0);
cmdQuit = CreateWindow(TEXT("BUTTON"), TEXT("&Quit"),
WS_VISIBLE | WS_CHILD,
6, 37, 150, 25,
hWnd, (HMENU)2, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)
但是这似乎没有把按钮放在窗口上.事实上,当我调试时,我可以看到它甚至没有越过第一行.奇怪的是,当我把它更改为:
void MainWindow::initialise(HWND hWnd)
{
//this->hWnd = hWnd;
/*cmdGenerate = */CreateWindow(TEXT("BUTTON"), …Run Code Online (Sandbox Code Playgroud) 我在VS2010中调试我的C++ Win32程序,我总是得到"Windows在program.exe中触发了一个断点".
我对代码进行了双重检查,三重检查和四重检查.我找不到应该发生的任何理由.但它每次都发生在同一点,所以必须有一些东西.
涉及相当多的代码(构造函数,析构函数,窗口消息,内存分配和释放等等),所以在这里放置一些具体内容非常困难,但与此同时我明白,如果没有代码,你可以'我真的做了很多解释.
基本上在点击按钮时,会显示一个显示图像的窗口.如果满足某个条件,我发送一个WM_DESTROY窗口并删除触发析构函数的变量,该析构函数调用Release()my LPPICTURE,并将释放的变量设置为NULL.
然后,当用户再次单击该按钮时,它会尝试动态分配一个新实例(与之前完全相同),这就是生成断点的地方.AFAIK(我一直试图调试这个超过一个小时),构造函数甚至没有启动.它似乎打破new()了动态内存分配的功能.
据我所知,它突破了return HeapAlloc(_crtheap, 0, size ? size : 1);第54行或malloc.c
奇怪的是,当我在VS2010之外运行exe时,一切都继续正常.该程序不会崩溃,并继续按预期工作!
我已经能够在我的PIC上运行输出,并且当我设置各种输出锁存器高/低时,可以使一堆LED跳开和关闭.但是,我在阅读状态时遇到了很多困难.
请参阅下面的代码.我设置了我的配置,并将TRISC定义为输入,将TRISB定义为输出.在无限循环中,我检查RC6是高电平还是低电平,并根据结果将整个B锁存器设置为高电平或低电平.
#include <htc.h>
__CONFIG(1, FOSC_IRC & FCMEN_OFF & IESO_OFF);
__CONFIG(2, PWRTEN_OFF & BOREN_OFF & WDTEN_OFF);
__CONFIG(3, MCLRE_OFF);
__CONFIG(4, STVREN_ON & LVP_OFF & DEBUG_OFF);
__CONFIG(5, 0xFFFF);
__CONFIG(6, 0xFFFF);
__CONFIG(7, 0xFFFF);
void main(void)
{
TRISC = 0xFF; // input
TRISB = 0x00; // output
while (1)
{
if (PORTCbits.RC6 == 0)
LATB = 0b00000000;
else
LATB = 0b11111111;
}
return;
}
Run Code Online (Sandbox Code Playgroud)
代码编译良好,没有警告或错误.如果我的代码逻辑只是将锁存器设置为高电平和低电平然后工作正常,但我无法成功读取引脚的状态.
有任何想法吗?
我正在使用PIC18F14K50和MPLAB v8.43以及HiTech ANSI C编译器.
我的连接是+ 5V到VDD(引脚1),VSS(引脚20)到地.我有+ 5V到C6(引脚8),以及从B7(引脚10)到地的100K电阻和LED.要切换RC6,我将电线连接/断开连接到C6.
??????????
+5v -? 01 20 ?- gnd
-? 02 19 ?- …Run Code Online (Sandbox Code Playgroud) 我正在用 TypeScript 2.6 编写一些图形代码,但在继承和通用代码方面我有一个小障碍:
abstract class Series { /**/ }
class LineSeries extends Series { /**/ }
class BarSeries extends Series { /**/ }
class ScatterSeries extends Series { /**/ }
class Chart {
private seriesArray: Series[] = [];
constructor(series: Series[]) {
let seriesType: typeof Series = null;
switch (series.SeriesType) {
case SeriesType.LineSeries:
seriesType = LineSeries;
break;
case SeriesType.BarSeries:
seriesType = BarSeries;
break;
case SeriesType.ScatterSeries:
seriesType = ScatterSeries;
break;
default:
throw "Unsupported series type";
}
for (let i = 0; …Run Code Online (Sandbox Code Playgroud) 这是用户权限表
Post
Guest User Admin
Create N Y Y
Read Y Y Y
Update N Their own post ONLY All
Delete N N (yes, user can't del) Y
Run Code Online (Sandbox Code Playgroud)
情况就是这样.我想将所有验证用户权限放在一个单独的类中来处理.并且所有操作都有一个已定义的名称,例如:create_post,read_post.另外,让user_role传入,比方说:role_guest,role_user.验证课做了所有的魔术.你觉得这个设计怎么样?谢谢.
我正在使用jQuery淡入<article>包含<section>元素的元素.
外元件是display:none,position:fixed,和z-index:5.里面的元素是position:absolute.
基本上,文章给出了一个框架,内部部分保存内容并具有滚动条.
我正在淡出外部元素并期待内部效仿.
在IE9 +,FF和Chrome中,它按预期工作.
在IE8中 - 它没有.外部文章根本不会淡入 - 保持不可见,内部部分相对于浏览器框架定位并始终可见.页面上的其他元素都是倾斜的,页面大部分都不起作用.
代码示例:
article
{
display: none;
position: fixed;
z-index: 5;
}
section
{
position: absolute;
top: 10px;
right: 10px;
bottom: 10px;
left: 10px;
overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)
和
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<article id="contentFrame">
<section id="content">
Lorem Ipsum
</section>
</article>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
和
$("#contentFrame").fadeIn(2000);
Run Code Online (Sandbox Code Playgroud) 我的程序中有一些 GZ 压缩资源,我需要能够将它们写入临时文件以供使用。我编写了以下函数来写出文件并true在成功或false失败时返回。此外,我在其中放置了一个 try/catch,它MessageBox在发生错误时显示:
private static bool extractCompressedResource(byte[] resource, string path)
{
try
{
using (MemoryStream ms = new MemoryStream(resource))
{
using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.ReadWrite))
{
using (GZipStream zs = new GZipStream(fs, CompressionMode.Decompress))
{
ms.CopyTo(zs); // Throws exception
zs.Close();
ms.Close();
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message); // Stream is not writeable
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我已经在引发异常的行上添加了注释。如果我在该行上放置一个断点并查看内部,GZipStream那么我可以看到它不可写(这就是导致问题的原因)。
我做错了什么,还是这是班级的限制GZipStream?
c# ×3
c++ ×2
gzip ×2
winapi ×2
block ×1
compression ×1
createwindow ×1
css ×1
gzipstream ×1
html5 ×1
inheritance ×1
javascript ×1
jquery ×1
listbox ×1
mplab ×1
php ×1
pic ×1
pic18 ×1
typescript ×1
windows ×1
winforms ×1
zip ×1