我使用iTextSharp(V 5.4.2.0)将html页面转换为pdf.但我希望能够设置一个新页面.
我试过这个:
<div style="page-break-before:always"> </div>
Run Code Online (Sandbox Code Playgroud)
和标签 <newpage />
但它不起作用.创建一个html页面的最佳方法是什么,包括新的页面标记(或其他东西),以便能够使用iTextSharp正确转换它?
亲切的问候,
Matthijs
我有一些不同类型的列表,我想加入并获得动态结果.
假设list1是基本列表.列表2和列表3列出了额外的信息.有时我想要信息,在其他运行中我不需要(其中之一).
如果我需要额外的信息,我知道我想要哪些列.
public struct DateAndValue1
{
public uint DBDate { get; set; }
public double Value1 { get; set; }
}
public struct DateAndValue2
{
public uint DBDate { get; set; }
public double Value1 { get; set; }
public bool myBool { get; set; }
public int someInt { get; set; }
}
List<DateAndValue1> list1,list2;
List<DateAndValue2> list3;
bool addList2, addList3;
list1 = new List<DateAndValue1>();
list1.Add(new DateAndValue1 { DBDate = 1, Value1 = 10 });
list1.Add(new DateAndValue1 { DBDate …Run Code Online (Sandbox Code Playgroud) 当我取消任务时,等待结果仍然为IsCanceled属性返回true.似乎有些事情出了问题.
请指教.这是代码:
CancellationTokenSource _cancelLationToken = new CancellationTokenSource();
private async void Button_Click(object sender, EventArgs e)
{
_cancelLationToken = new CancellationTokenSource();
_cancelLationToken.Token.Register(theCallBack);
var myTaskToWaitFor = Task.Factory.StartNew(() => WorkHard(_cancelLationToken.Token), _cancelLationToken.Token);
await myTaskToWaitFor;
int i=0;
if(myTaskToWaitFor.IsCanceled)
i = i; //breakpoint for debugging
else
i = i; //breakpoint for debugging <== always ends here... :-(
}
private void WorkHard(CancellationToken token)
{
for(int i = 0; i < 100000000; i++)
if(token.IsCancellationRequested)
break;
else
Math.Acos(Math.Pow(i, i / 10000000));
}
public void theCallBack()
{
//todo: do something
} …Run Code Online (Sandbox Code Playgroud) 我正在实现一个Parallel.ForEach循环来完成一些工作,但是由于未处理的异常而导致了问题,而我认为我处理了取消.
为了尝试解决这个问题,我在winform中进行了一个简单的测试设置.它有一个开始按钮,一个取消按钮和一个输出标签.
代码:
public partial class Form1 : Form
{
CancellationTokenSource cts = new CancellationTokenSource();
public Form1()
{
InitializeComponent();
}
private async void button1_Click(object sender, EventArgs e)
{
output.Text = "Running";
try
{
var runTask = Task<string>.Factory.StartNew(() => Run());
await runTask;
this.output.Text = runTask.Result;
}
catch(Exception ex)
{
throw ex;
}
}
private string Run()
{
int useThreads = Environment.ProcessorCount - 2 < 1 ? 1 : Environment.ProcessorCount - 2;
ParallelOptions options = new ParallelOptions() { MaxDegreeOfParallelism = useThreads, CancellationToken …Run Code Online (Sandbox Code Playgroud) 对于测试,我需要使用一些参数设置制作列表.此列表不是根据定义预先定义为类型和/或其中的内容.
bool[] trueOrFalse = new bool[] { true, false };
int[] para1 = new int[] { 1, 2, 3 };
int[] para2 = new int[] { 5, 6, 7 };
int[] para3 = new int[] { 1, 2, 3 };
int[] para4 = new int[] { 5, 7, 9 };
List<object> test = (from a in trueOrFalse
from b in para1
from c in para2
from d in para3
from e in para4
let f = c - d
where …Run Code Online (Sandbox Code Playgroud) 我想知道这是否可行:
我想有一个列表,我可以添加bool方法并验证这些方法,当它们都是真的时,返回true.当至少一个为假时,返回false.
问题是,当我做以下事情时:
private int _value1, _value2, _value3, _value4;
private bool check2()
{
return _value2 + _value3 > _value4;
}
private bool check2()
{
return _value2 + _value3 > _value4;
}
List<bool> constraints = new List<bool>();
constrains.Add(check1());
constrains.Add(check2());
Run Code Online (Sandbox Code Playgroud)
添加的bool当然是添加到列表时验证的结果.我明白了 ;-)
如何使用实际重新验证的方法创建列表?亲切的问候,
Matthijs
这就是我想要的.
借助以下答案.我做的.可能对寻找同样事物的其他人有用.
public class TestClass
{
private int _value1, _value2, _value3, _value4;
private void button1_Click(object sender, EventArgs e)
{
ConstraintsList cl = new ConstraintsList();
cl.Add(check1);
cl.Add(check2);
bool test1 = cl.AllTrue;
bool test2 = cl.AnyTrue;
_value4 = -5;
bool …Run Code Online (Sandbox Code Playgroud) 我正在使用 ms 图表控件并希望执行以下操作:将 chartAreas[0] 的 Y 轴格式化为特定格式。在这种情况下,它应该是一个没有小数的数字,并用一个点分组(每千分之一)。
尝试使用:chart1.ChartAreas[0].AxisY.LabelStyle.Format = "{#.###}";
但这并没有给我正确的结果。因此,我尝试获取 FormNumber 事件并对此进行测试:
if(e.ElementType == System.Windows.Forms.DataVisualization.Charting.ChartElementType.AxisLabels)// && e.SenderTag!=null)
{
e.LocalizedValue = e.Value.ToString("#.###", _numberFormatInfo);
}
Run Code Online (Sandbox Code Playgroud)
使用:
NumberFormatInfo _numberFormatInfo;
_numberFormatInfo = (NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone();
_numberFormatInfo.NumberGroupSeparator = ".";
_numberFormatInfo.NumberDecimalSeparator = ",";
.ToString("#,0.00", _numberFormatInfo));
Run Code Online (Sandbox Code Playgroud)
没有工作,而通常如果你有这样的事情:
decimal myDec = 123456.789;
string test = myDec.ToString("#,0.00", _numberFormatInfo));
Run Code Online (Sandbox Code Playgroud)
测试将返回 123.456,789(独立于用户计算机上的文化设置)。
但这似乎不适用于 ms 图表控件。
有人可以向我解释如何能够做到以下几点:
格式化chartArea[0] 中的Y 值,不带小数点,并用一个点作为组分隔符。同时将x 值格式化为dd-MM 格式(如16-10 => 10 月16 日),而值为实际上是一个 Uint 20131016。格式必须与文化设置无关。希望有人可以帮助我。亲切的问候,
马蒂斯
c# ×7
linq ×2
list ×2
async-await ×1
axis ×1
cancellation ×1
constraints ×1
dynamic ×1
exception ×1
format ×1
html ×1
itext ×1
itextsharp ×1
join ×1
mschart ×1
pdf ×1
task ×1
validation ×1