小编Joa*_*loo的帖子

在c#中的usercontrol中公开并引发子控件的事件

你好.我有一个包含文本框的UserControl.我想访问文本框的textchanged事件,但在usercontrol的事件属性中,我没有看到文本框的事件.如何使用C#从Winforms中公开公开的UserControl公开和处理子控件的特定事件.

c# user-controls childcontrol winforms

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

相机实时预览在相机开关上冻结

我正在创建一个自定义相机应用程序。我面临的问题是,当我在前后摄像头之间切换时,摄像头预览会冻结。通过调用前置或后置摄像头开始活动时

boolean opened = safeCameraOpenInView(view, Camera.CameraInfo.CAMERA_FACING_BACK)
Run Code Online (Sandbox Code Playgroud)

在片段的 OnCreateView 方法中,两个摄像头都将按预期在启动时显示。只要我在切换按钮的点击监听器中调用相同的方法,相机就会立即冻结。

这是一个我尝试过的新实现,其中所有代码都在同一个片段中,而不是基于以下问题的自定义类自定义类相机实时预览在相机切换时冻结,但结果完全相同。我很确定我需要对表面视图做一些事情来将它绑定到新相机,但我不知道如何做到这一点。有人有一些指点吗?

我的活动:

public class Camera2ActivityFragment extends Fragment {

    // Native camera.
    private Camera mCamera;


    // View to display the camera output.
    private CameraPreview mPreview;

    // Reference to the containing view.
    private View mCameraView;

    /**
     * Default empty constructor.
     */
    public Camera2ActivityFragment(){
        super();
    }

    /**
     * Static factory method
     * @param sectionNumber
     * @return
     */
    public static Camera2ActivityFragment newInstance(int sectionNumber) {
        Camera2ActivityFragment fragment = new Camera2ActivityFragment();
        //Bundle args …
Run Code Online (Sandbox Code Playgroud)

camera android

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

删除包含项目的目录

我试图使用C#删除目录.我试过的第一种方法是

Directory.Delete(@"C:\Program Files (x86)\Qmuzki32");
Run Code Online (Sandbox Code Playgroud)

我得到一个异常,说明该目录不为空.然后我找到了一个cmd命令,我可以用它来安静地删除目录,而不管目录是否为空.我在cmd中运行以下命令:

rmdir /s /q "C:/Program Files (x86)/Qmuzik32"
Run Code Online (Sandbox Code Playgroud)

这工作并完全按照我的意愿行事.在我的第一次尝试中,我尝试将此命令构建到C#进程中,如下所示:

if (Directory.Exists(@"C:\Program Files (x86)\Qmuzik32"))
   {
       string sQM32Folder = @"C:\Program Files (x86)\Qmuzik32";
       Process del = new Process();
       del.StartInfo.FileName = "cmd.exe";
       del.StartInfo.Arguments = string.Format("rmdir /s /q \"{0}\"", sQM32Folder);
       del.WaitForExit();
   }
Run Code Online (Sandbox Code Playgroud)

这不起作用然后我尝试这样:

if (Directory.Exists(@"C:\Program Files (x86)\Qmuzik32"))
   {
       string sQM32Folder = @"C:\Program Files (x86)\Qmuzik32";
       Process del = new Process();
       del.StartInfo.FileName = "rmdir.exe";
       del.StartInfo.Arguments = string.Format("/s /q \"{0}\"", sQM32Folder);
       del.WaitForExit();
   }
Run Code Online (Sandbox Code Playgroud)

同样的问题.我得到了例外:

No process is associated with this object.
Run Code Online (Sandbox Code Playgroud)

我没办法.我确实认为我在正确的轨道上.也许上面的代码只需要一些调整.任何帮助表示赞赏.

谢谢J

c# directory cmd

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

根据db值在转发器中动态更改标签forecolor

我有一个从数据库返回的字符串值.值始终为"红色"或"绿色".我试图根据此字符串值更改我的转发器中的标签的前景色.如果值为"红色",则标签的前景色应为红色,反之亦然.

我尝试在我的asp页面中使用此代码:

 ForeColor='<%# Eval("Color")%>'
Run Code Online (Sandbox Code Playgroud)

但是我得到了流动的错误:

Specified cast is not valid.
Run Code Online (Sandbox Code Playgroud)

之前我遇到过类似的问题,试图动态设置图像的宽度并最终像这样抛出值:

<asp:Image 
  ID="Image1" 
  runat="server" 
  Width='<%# System.Web.UI.WebControls.Unit.Parse(Eval("ImageSize").ToString()) %>'
  ImageUrl="~/Images/ProgressBar.jpg"/>
Run Code Online (Sandbox Code Playgroud)

问题是我如何使用相同的技术与系统颜色?

谢谢J

c# sql-server asp.net

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