我想将.NET表格作为另一个外部应用程序(不是.NET相关的纯Win32)的TopMost表单,因此它保持在Win32App之上,但不会运行其他应用程序.
我有Win32App的句柄(由Win32App本身提供),我尝试过Win32 SetParent()函数,通过C#中的P/Invoke,然后我的.NET表单被限制在Win32App中,这不是我想要的.
我正在尝试在rails应用程序中提供动态生成的文件,因此当用户单击特定链接时,将生成文件并使用send_data将其发送到客户端.
该文件不打算重复使用:是一个简短的文本文件,重新生成应该非常便宜,因为它不会被大量删除; 但如果有必要或方便我可以将它存储在数据库中,所以只生成一次.
首先,我想在内存中生成文件,并将其发送到控制器中.我试图存档这样的东西:
def DownloadsController < ApplicationController
def project_file
project = Project.find(params[:id])
send_data project.generate_really_simply_text_file_report
end
end
Run Code Online (Sandbox Code Playgroud)
但我不知道如何在内存中生成流,因此在文件系统中不会创建任何文件.
另一种选择是在rails app tmp目录中生成带有随机名称的文件并从中发送,但是文件将保留在那里,这是我不希望发生的事情.
编辑:如果我没有弄错,send_file会阻止请求直到文件被发送,所以它可以工作......
还有其他建议或意见吗?
提前致谢
我正在构建一个应用程序,它显示某些操作的模式对话框。该模式对话框是使用 Form 构建的,主应用程序窗口作为所有者,在 Form.ShowDialog 方法中作为参数传递。
该模态对话框需要在单击按钮时生成一个通用对话框,(FontDialog) 一个通用对话框也显示为模态窗口。
所以“所有者层次结构”是 (A --> B 表示 A "拥有" B) MainApp --> ModalDialog --> FontDialog
好的,问题是 FontDialog 不会以任何方式显示,除非我按下 ALT 键。该应用程序的行为几乎与预期的一样,即当我调用 FontDialog.ShowDialog() 时,我无法将焦点设置到 MainApp 窗口和 ModalDialog,但是 FontDialog 只是“不可见”,直到我按下 ALT 键(只是那个单一的键),然后出现。
任何人都知道为什么会发生这种情况?我尝试将 FormDialog 的所有者设置为 null(因此使用桌面作为所有者窗口),但它的行为方式同样错误。
提前致谢。
一些代码
public class SnapshotDialogView : Form
{
/// bla bla bla
///
/// Button click handler
private void btnChangeFont_Click(object sender, EventArgs e)
{
// this.Owner == MainAppWindow
DialogResult result = fontDialog.ShowDialog(this);
if (DialogResult.Cancel == result)
return;
Presenter.ChangeLabelsFont(fontDialog.Font);
}
}
Run Code Online (Sandbox Code Playgroud)
啊,是的,还有一件事。如果我在调用 FontDialog.ShowDialog() …
好的,如果我在.NET下有一个用little endian或big endian编码的二进制文件,那么读/写它的最佳方法是什么?
在.NET框架中我只设法找到使用little endian作为默认值的BinaryWritters/BinaryReaders,所以我的方法是实现我自己的BinaryReader/BinaryWritter来读取/写入big endian中的数据,但是我想知道是否有更好的方法.
例如,给定一个类型参数方法我正在寻找类似于粗体的部分
void MyMethod <T>(){
if(typeof(T).Implements(IMyInterface)){Run Code Online (Sandbox Code Playgroud)//Do something其他
Run Code Online (Sandbox Code Playgroud)//Do something else}
使用C#3.0的Anwers也很受欢迎,但首先请删除.NET 2.0的那些;)
c# ×3
file ×2
.net ×1
dynamic-data ×1
endianness ×1
modal-dialog ×1
owner ×1
reflection ×1
types ×1
winapi ×1
window ×1
winforms ×1