小编use*_*122的帖子

使用iTextSharp HTMLWorker在HTML中设置新页面(html到pdf)

我使用iTextSharp(V 5.4.2.0)将html页面转换为pdf.但我希望能够设置一个新页面.

我试过这个:

<div style="page-break-before:always">&nbsp;</div>
Run Code Online (Sandbox Code Playgroud)

和标签 <newpage />

但它不起作用.创建一个html页面的最佳方法是什么,包括新的页面标记(或其他东西),以便能够使用iTextSharp正确转换它?

亲切的问候,

Matthijs

html c# pdf itext itextsharp

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

如何通过连接从linq结果中获取所有列

我有一些不同类型的列表,我想加入并获得动态结果.

假设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)

c# linq join dynamic

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

任务IsCanceled是假的,而我取消了

当我取消任务时,等待结果仍然为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)

c# task async-await cancellationtokensource

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

发生了'System.OperationCanceledException'类型的异常

我正在实现一个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)

c# exception cancellation parallel.foreach

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

linq列出<object>并获取每行的值

对于测试,我需要使用一些参数设置制作列表.此列表不是根据定义预先定义为类型和/或其中的内容.

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)

c# linq list parameter-passing

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

验证列表中的bool方法(约束)

我想知道这是否可行:

我想有一个列表,我可以添加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)

c# validation constraints list

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

如何在 ms 图表控件中格式化轴

我正在使用 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# format axis mschart invariantculture

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