小编Shu*_*arg的帖子

使用变量更改批处理文件中的目录

这是问题:

set Pathname = C:\Program Files
cd %Pathname%
pause
Run Code Online (Sandbox Code Playgroud)

正如我所料,上面的内容并未改变目录.谁能告诉我为什么?

command-line batch-file

23
推荐指数
1
解决办法
9万
查看次数

使用DesktopDPIOverride时PointToScreen不正确

将"更改所有项目的大小"滑块设置Control Panel\Appearance and Personalization\Display为较大(更改此注册表项HKEY_CURRENT_USER\Control Panel\Desktop\DesktopDPIOverride:) :导致Control.PointToScreen()方法错误计算.这可以使用Windows窗体中的以下Class1重现:

public class Class1 : Control
{
  protected override void OnPaint(PaintEventArgs e)
  {
    base.OnPaint(e);

    Draw(e.ClipRectangle, e.Graphics);
  }

  private void Draw(Rectangle rect, Graphics graphics)
  {
    Pen pen = new Pen(Color.Red);
    pen.Width = 2;

    graphics.DrawRectangle(pen, rect);
  }

  protected override void OnMouseDown(MouseEventArgs e)
  {
    base.OnMouseDown(e);

    Point p = this.PointToScreen(new Point(0, 0));

    ControlPaint.DrawReversibleFrame(new Rectangle(p, new Size(e.X, e.Y)), Color.Yellow, FrameStyle.Dashed);
  }

  protected override void OnMouseUp(MouseEventArgs e)
  {
    base.OnMouseUp(e);
    this.Invalidate();
  }
}
Run Code Online (Sandbox Code Playgroud)

在WinForm中使用此控件并单击它可以按预期工作.现在将"更改所有项目的大小"更改为"更大"并再次运行代码 - 代码不再按预期运行,PointToScreen方法返回(0,0)的错误值.

有人知道如何解决这个问题吗?非常感谢.

c# windows winforms

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

简单计算,c#和delphi中的结果不同

问题是,为什么这些代码片段会产生不同的结果?

private void InitializeOther()
{
  double d1, d2, d3;
  int i1;

  d1 = 4.271343859532459e+18;
  d2 = 4621333065.0;
  i1 = 5;

  d3 = (i1 * d1) - Utils.Sqr(d2);
  MessageBox.Show(d3.ToString());
}
Run Code Online (Sandbox Code Playgroud)

procedure TForm1.InitializeOther;
var d1, d2, d3 : Double;
    i1 : Integer;
begin
    d1:=4.271343859532459e+18;
    d2:=4621333065.0;
    i1:=5;

    d3:=i1*d1-Sqr(d2);
    ShowMessage(FloatToStr(d3));
end;
Run Code Online (Sandbox Code Playgroud)

Delphi代码给了我816,而c#代码给了我0.使用计算器,我得到775.任何人都能给我一个详细的解释吗?

非常感谢!

c# delphi

8
推荐指数
3
解决办法
1827
查看次数

WPF UserControl的初始化事件未触发

我有一个非常简单的WPF UserControl,如下所示:

namespace MyUserControl
{
  /// <summary>
  /// Interaction logic for UserControl1.xaml
  /// </summary>
  public partial class UserControl1 : UserControl
  {
    public UserControl1()
    {
      InitializeComponent();
    }

    protected override void OnRender(DrawingContext drawingContext)
    {
      Rect rect = new Rect(RenderSize);
      drawingContext.DrawRectangle(Brushes.AliceBlue, new Pen(Brushes.Red, 1), rect);
      base.OnRender(drawingContext);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

然后我在标准WPF窗口的XAML中使用它,如下所示:

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="clr-namespace:MyUserControl;assembly=MyUserControl"
    Title="Window1" Height="351" Width="496">
    <Grid>
    <mc:UserControl1 Margin="0,0,0,0" Name="uControl1" Initialized="uControl1_Initialized"/>
  </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

使用上面的WPF窗口后面的代码如下所示:

private void uControl1_Initialized(object sender, EventArgs e)
{
  MessageBox.Show("Hello!");
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,Initialized事件永远不会被触发.谁能告诉我为什么?

非常感谢!

.net wpf .net-3.5

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

实体框架5.0代码优先于WPF中的MySQL

本演练适用于SQL Express:http: //msdn.microsoft.com/en-us/library/gg197522(v = VS.103).aspx

我希望它能与MySQL一起工作.我做了一些研究,但我发现的技术都没有能够为我做到.理想情况下,我想做这样的事情:

      <entityFramework>
    <defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
  </entityFramework>
Run Code Online (Sandbox Code Playgroud)

这不起作用(我安装了MySQL Connector Net 6.5.4并引用了MySql.Data).我已尝试从IDbConnection工厂派生,如此课程所示:http://www.vworker.com/RentACoder/misc/BidRequests/ShowBidRequest.asp?lngBidRequestId=1563829

然后使用:

      <entityFramework>
<defaultConnectionFactory type="SchoolModel.MySqlConnectionFactory, SchoolModel" />
Run Code Online (Sandbox Code Playgroud)

但这也不起作用.任何人都可以给我一些关于如何使其工作的指示?

非常感谢.

mysql wpf entity-framework ef-code-first

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

通过XAML刷新WPF UserControl

我在Visual Studio 2008中使用WPF.我有一个简单的WPF UserControl,其代码如下:

  public partial class UserControl1 : UserControl
  {
    public UserControl1()
    {
      InitializeComponent();
      Composite = new Composite();
    }

    protected override void OnRender(DrawingContext drawingContext)
    {
      //LayoutRoot is name of default Grid instance
      if (!LayoutRoot.Children.Contains(Composite))
      {
        LayoutRoot.Children.Add(Composite);
      }
    }

    public Composite Composite
    {
      get;
      set;
    }
  }

  public class Composite : ContentControl
  {
    protected override void OnRender(DrawingContext drawingContext)
    {
      drawingContext.DrawRectangle(new SolidColorBrush(Color), new Pen(Brushes.Black, 1.0), new Rect(RenderSize));
    }

    public Color Color
    {
      get;
      set;
    }
  }
Run Code Online (Sandbox Code Playgroud)

然后我在WPF应用程序中使用此UserControl,页面的XAML如下所示:

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" …
Run Code Online (Sandbox Code Playgroud)

.net wpf refresh wpf-controls

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

右移运算符在java和c#中的结果不同

BHere的代码:

C#

private void button1_Click(object sender, EventArgs e)
{
  int a = -33554432;
  byte b = (byte)(a >> 24);
  MessageBox.Show(b.ToString());
}
Run Code Online (Sandbox Code Playgroud)

java的

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    int a = -33554432;
    byte b = (byte)(a >> 24);
    JOptionPane.showMessageDialog(null, Byte.toString(b));
}
Run Code Online (Sandbox Code Playgroud)

我已经阅读了这个问题,我相信有一种相对简单的方法来理解不同的行为,但我需要一些帮助才能达到这种理解.请问有谁?

非常感谢!

编辑:好的,现在使用Byte.toString().c#的输出= 254 java = -2

c# java operators

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