我的应用程序中需要条形码打印模块,但无法弄清楚如何正确打印条形码.看起来它的分辨率太低了.我正在使用Zen Barcode.正如您可以看到每张附照片,顶部条形码是从打印机的软件打印出来的,证明打印机没问题,底部图片是从我的代码中打印出来的:
[WPF]
<Grid x:Name="_printSerialBcode" Margin="9" Visibility="Visible">
<Image x:Name="serial_bcode1" Height="20" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="2"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)
[C#]
private void printJob()
{
// use printer we need
SetDefaultPrinter("Brother QL-700");
//draw barcodes
BarcodeDraw bc = BarcodeDrawFactory.Code128WithChecksum;
Bitmap serial_bitmap = (Bitmap)bc.Draw(serial, 20);
ImageConverter ic = new ImageConverter();
//generate bitmap
serial_bcode1.Source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(serial_bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
var dlg = new PrintDialog();
//print main label
dlg.PrintTicket.CopyCount = 1; // number of copies
dlg.PrintTicket.PageOrientation = PageOrientation.Landscape;
dlg.PrintVisual(_printSerialBcode, "Barcode");
//change default printer to original one
SetDefaultPrinter(defaultPrinter);
}
Run Code Online (Sandbox Code Playgroud)
有没有理由我不能把重点放在我的PasswordBox控件上?
public Login()
{
InitializeComponent();
_password.Focus();
}
Run Code Online (Sandbox Code Playgroud)
<PasswordBox x:Name="_password" Width="200" Height="30" FontSize="14"
KeyDown="_password_KeyDown"/>
Run Code Online (Sandbox Code Playgroud) 我正在开始我的移动开发冒险,并且已经遇到了一个问题。我知道在 WPF 中我会BackgroundWorker用来更新 UI,但是它如何与使用 Xamarin 的 Android 一起工作?
我找到了很多建议,但没有一个对我有用。下面的代码在执行其余部分时不会更改文本,它只是等待并立即执行,这不是我想要的。
private void Btn_Click(object sender, System.EventArgs e)
{
RunOnUiThread(() => txt.Text = "Connecting...");
//txt.Text = sql.testConnectionWithResult();
if (sql.testConnection())
{
txt.Text = "Connected";
load();
}
else
txt.Text = "SQL Connection error";
}
Run Code Online (Sandbox Code Playgroud) 我在我的 Unity 项目中遇到了一些实质性的变化。我有一个带有 8 个材质的对象,我想在按下按钮时更改材质编号 5。以下代码不起作用:
objectToPaint.GetComponent<Renderer>().materials[4] = availableMaterials[i];
Run Code Online (Sandbox Code Playgroud)
当我做:
objectToPaint.GetComponent<Renderer>().material = availableMaterials[i];
Run Code Online (Sandbox Code Playgroud)
它只会改变第一种材料,并证明触发器工作正常。有什么建议?
我有一个包含以下代码的按钮:
private void install_btn_Click(object sender, RoutedEventArgs e)
{
installcover.Visibility = System.Windows.Visibility.Visible;
loading_text.Visibility = System.Windows.Visibility.Visible;
back_btn.Visibility = System.Windows.Visibility.Hidden;
install_btn.Visibility = System.Windows.Visibility.Hidden;
loading_text.Text = "Connecting to server...";
mapDriveX();
loading_text.Text = "Copying test tools from server...";
CopyTestTools();
loading_text.Text = "Installing Drivers...";
installDrivers();
loading_text.Text = "Disconnecting...";
unMapDriveX();
loading_text.Text = "Restarting...";
Process.Start("shutdown", "/r /t 10");
}
Run Code Online (Sandbox Code Playgroud)
看起来它试图同时启动所有这些.
即使我放在线Thread.Sleep(5000);之间,它仍然没有等待.
它不会一个接一个地改变文本; 我在最后看到的只是命令的结果:
loading_text.Text = "Restarting...";
Run Code Online (Sandbox Code Playgroud)